2016-11-16 4 views
-6
let firstArray = 
[[name: "John", id: "001", active: "true"], 
[name: "Paul", id: "002", active: "false"]] 

let user: User? //This user contains information like an id (002) 

привет, я хочу сказать, «смотреть в firstArray в каждом Profil, и нашел Profil, где идентификатор совпадает. В данном примере это Павел. Я хочу вернуть Profil PAUL [имя: «Пол», ID: «002», активный: «ложь»]Как найти и получить значение в массиве

Я надеюсь, что это более чистым сейчас, спасибо за обратную связь

+1

Ваш актуальный вопрос мне не ясна, пожалуйста, улучшить свой вопрос. '$ .find', который вы назвали, является кодом jQuery, а не быстрым. – milo526

+0

Привет, скажи мне, если теперь чище. $ .find - это кокоапод с именем Dollar. – Makaille

+0

Возможный дубликат [Найти объект в массиве?] (Http://stackoverflow.com/questions/28727845/find-an-object-in-array) – Daniel

ответ

1
for item in firstArray{ 
    let user_id=item.value(forKey: "id") as! String 
    if user_id==some_id{ 
     print("found user") 
    } 
} 
+1

Является ли это вторым (альтернативным) ответом или должен быть отредактирован вам первый ответ? –

+0

Это еще одна альтернатива. В этом ответе вам не нужно менять структуру, которую вы используете. Я добавил его, когда вы редактировали свой вопрос. –

1

Вы должны использовать класс для пользователей , например:

class user{ 
    var user_id:String 
    var name:String 

    init(user_id:String, name:String){ 
     self.user_id=user_id 
     self.name=name 
    } 
} 

Затем, креа т.е массив для их хранения:

let user_array=[user1, user2] 

И когда вам нужно сравнить пользователей:

let user1=user_array[0] 
if user1.id==some_id{ 
    //then... 
}