新しいトラバーサル メソッドは次のとおりです: 1. findIndex() (配列をトラバースして一致する要素を見つけることができます)、2. find() (配列をトラバースして最初に一致した要素を見つけることができます)、3. エントリ( )、キーと値のペアを走査します。 4. key()、キー名を走査します。 5. value()、キーと値を走査します。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
ES5 で一般的に使用される 10 個のトラバーサル メソッド:
1. オリジナルの for ループ ステートメント
2. 組み込みの Array.prototype.forEach 配列オブジェクトメソッド
3、Array.prototype.map 配列オブジェクトの組み込みメソッド
4、Array.prototype.filter 配列オブジェクトの組み込みメソッド
5、Array.prototype .reduce 配列オブジェクトの組み込みメソッド
6、Array.prototype.some 配列オブジェクトの組み込みメソッド
7、Array.prototype.every 配列オブジェクトの組み込みメソッド
8, Array.prototype.indexOf 配列オブジェクトの組み込みメソッド
9, Array.prototype.lastIndexOf 配列オブジェクトの組み込みメソッド
10, for...in
ループ ステートメント
findIndex(callback [, thisArg]) は、配列内で一致する要素を検索します
找到一个就返回匹配的元素的下标,没找到就返回-1。 let arr = [1, 2, 3, 4, 5, 6]// 此时我们找大于2的数 let newArr = arr.findIndex(val => {return val > 2}) console.log(newArr) // 2
find(fn(callback [, thisArg])
配列内で一致する要素を検索します。一致する要素が見つかった場合は、一致する要素が返されます。一致する要素が見つからない場合は、未定義が返されます。
注: 次の例は、2 より大きい数値を検索したいため、要件に対して間違った例です。3 の一致が見つかった場合、条件が満たされ、関数は次のようになります。
例:
let arr = [1, 2, 3, 4, 5, 6] // 此时我们找大于2的数 let newArr = arr.find(val => { return val > 2 }) console.log(newArr) // 3
entries()、keys()、values()
ES6 には 3 つの新しいメソッド、entries()、 key() と value() - 配列とオブジェクトを走査します。これらはすべてイテレータ オブジェクトを返します。これは for...of
ループを使用して走査できます。唯一の違いは、keys() がキーを走査することです。 names、values() はキー値を走査し、entries() はキーと値のペアを走査します。 .
for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"
for...of ループを使用しない場合は、トラバーサーの次のメソッドを手動で呼び出すことができます。
let letter = ['a', 'b', 'c']; let entries = letter.entries(); console.log(entries.next().value); // [0, 'a'] console.log(entries.next().value); // [1, 'b'] console.log(entries.next().value); // [2, 'c']
[関連する推奨事項: JavaScript ビデオ チュートリアル、webfrontend]
以上がes6 の新しいトラバーサル方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。