はじめ
方法のネイティブ配列-MDN
アレイは、多くの方法が、時には我々は、コードの効率を向上させるために、ループの外にする必要があります。
この記事は異なるウェルカムメッセージを持って、このようなテストの結果として、以下のような方法がテストされ、他の誰かの記事(最終テキストはポータルを持っている)貼り付けられます
結論の概要
forEachのは、マップやフィルタは現在、私は現在のトラバーサルを停止する方法を知らない、テーブルを挙げることができる(写真)は、このサイクルから外れています、
- forループ
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
for (var i = 0; i < arr.length; i++) {
if (i === 2) {
break;// ['a', 'b'] 成功跳出循环
// continue;// ['a', 'b', 'd', 'e'] 只能跳出本次循环
// return;// Uncaught SyntaxError: Illegal return statement
// return true;// Uncaught SyntaxError: Illegal return statement
// return false;// Uncaught SyntaxError: Illegal return statement
}
show.push(arr[i]);
}
- Array.forEach()
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
arr.forEach((item, index) => {
if (index === 2) {
// break;// Uncaught SyntaxError: Illegal break statement
// continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
// return;// ["a", "b", "d", "e"] 只能跳出本次循环
// return true;// ["a", "b", "d", "e"] 只能跳出本次循环
// return false;// ['a', 'b', 'd', 'e'] 只能跳出本次循环
}
show.push(item);
})
以下のための...で...
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
for (var item in arr) {
if (item === '2') {
break;// ["a", "b"] 跳出循环成功
// continue;// ["a", "b", "d", "e"] 只能跳出本次循环
// return;// Uncaught SyntaxError: Illegal return statement
// return true;// Uncaught SyntaxError: Illegal return statement
// return false;// Uncaught SyntaxError: Illegal return statement
}
show.push(arr[item]);
}
Array.map()
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
arr.map((item, index) => {
if (index === 2) {
// break;// Uncaught SyntaxError: Illegal break statement
// continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
// return;// ["a", "b", "d", "e"] 只能跳出本次循环
// return true;// ["a", "b", "d", "e"] 只能跳出本次循环
// return false;// ["a", "b", "d", "e"] 只能跳出本次循环
}
show.push(item);
})
- Array.some()
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
arr.some((item, index) => {
if (index === 2) {
// break;// Uncaught SyntaxError: Illegal break statement
// continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
// return;// ["a", "b", "d", "e"] 只能跳出本次循环
return true;// ["a", "b"] 成功跳出循环
// return false;// ["a", "b", "d", "e"] 只能跳出本次循环
}
show.push(item);
})
- Array.every()
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
arr.every((item, index) => {
if (index === 2) {
// break;// Uncaught SyntaxError: Illegal break statement
// continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
// return;// ["a", "b"] 成功跳出循环
// return true;// ["a", "b", "d", "e"] 只能跳出本次循环
return false;// ["a", "b"] 成功跳出循环
}
return show.push(item);
})
すべての戻り値を持ついくつかのブール値、異なるいくつかの()およびすべての()されている、いくつかのトラバーサルは真であること、すべての真実であるが、すべてのトラバーサルすべての真の仕事。真のいくつかのトラバーサルリターンは撤退する、とあなたは偽を返すために必要なすべてを行うことになります。
- Array.filter()
var arr = ['a', 'b', 'c', 'd', 'e'];
var show = [];
arr.filter((item, index) => {
if (index === 2) {
// break;// Uncaught SyntaxError: Illegal break statement
// continue;// Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement
// return;// ["a", "b", "d", "e"] 只能跳出本次循环
// return true;// ["a", "b", "d", "e"] 只能跳出本次循环
return false;// ["a", "b", "d", "e"] 只能跳出本次循环
}
show.push(item);
})