student objects
の配列とgoodStrudentId
の配列を持っています。 students
の配列から、すべての生徒オブジェクトをgoodStrudentId
の配列にフェッチする必要があります。 複数のforloopを使うとこれを解決することができますが、私はこの問題を解決する最善の方法を学びたいと思っています。私の唯一の問題は、次のシーケンスgoodStrudentId
です。ここ は私の問題を理解するためのサンプルコードです -Swift:配列をフィルタリングする最良の方法
class Student {
var s_id : String
var s_name : String
init(i: String, n: String) {
self.s_id = i;
self.s_name = n;
}
}
var students = [Student(i: "1",n: "a"),
Student(i: "2",n: "b"),
Student(i: "3",n: "c"),
Student(i: "4",n: "d"),
Student(i: "5",n: "e")]
var goodStudentsId = ["5","2"]
var goodStudentObject = getGoodStudentObjectUsingId(students:students, gdStudentsId:goodStudentsId)
/*
Expected answer:
var goodStudentObject = [Student(i: "5",n: "e"), Student(i: "2",n: "b")]
*/
func getGoodStudentObjectUsingId(students:Array<Student>, gdStudentsId:Array<String>) -> Array<Student>! {
/*?????? please complete this func*/
return [];
}
配列は 'filter'機能を持っています。これはGoogleが問題を検索した後に明らかになるはずです。何を試しましたか? – Connor
このサイトは、高次の迅速な機能の教育のための素晴らしいリソースです:https://www.weheartswift.com/higher-order-functions-map-filter-reduce-and-more/ – toddg
私はNSPredicateで試しました。私は答えに続いて試してみる。なぜ私は否定的な投票を得たか分からない。 – Shohrab