0
このJavaScriptコードでは、forループ "I guess"の代わりにarray.filter
を使用してパフォーマンスを向上させようとしています。いずれにしても、結果は同じではないと予想されます。 students
の名前は、searchWords
アレイに含まれています。
任意のアイデアなぜですか?THXはforループを配列フィルターに変換する
let searchWords = ['john','matt','marry'];
let students = ['matt','jack'];
let names = [];
for (let i = 0; i < searchWords.length; i++) {
if (students.indexOf(searchWords[i]) !== -1) {
names.push(searchWords[i]);
}
}
console.log(names.length); // => 1 "correct"
names = [];
names = searchWords.filter(x => students.filter(y => students.indexOf(x) !== -1));
console.log(names.length); // => 3 "incorrect"
でなければなりません... ;-) – RobG
私は最後にそれを使用するのでうわージャバスクリプトが変更されています。今度は 'let'と' lambda'関数を持っています。クール。 – 0x499602D2
@ 0x499602D2 - それは常にラムダ関数を持っていましたが、矢印の構文は新しくなっています(呼び出しではなく*これを字句的に設定します)。 – RobG