陣列中foreach() 、map()、filter()、reduce()、some()、every()的總結
let array = [1,2,3,4];
array.foreach((item, index, array) => );
foreach會遍歷陣列, 沒有返回值, 不允許在迴圈體內寫return, 不會改變原來陣列的內容.
let array = [1, 2, 3, 4];
let temp = array.map((item, index, array) => );
console.log(temp); // [10, 20, 30, 40];
console.log(array); // [1, 2, 3, 4]
// map 遍歷陣列, 會返回乙個新陣列, 不會改變原來陣列裡的內容
let temp2 = array.map(string); // 把陣列裡的元素都轉成字串
let array = [1, 2, 3, 4];
let temp = array.filter((item, index, array) => );
console.log(temp); // [4]
console.log(array); // [1, 2, 3, 4]
// filter 會過濾掉陣列中不滿足條件的元素, 把滿足條件的元素放到乙個新陣列中, 不改變原陣列
let array = [1, 2, 3, 4];
let temp = array.reduce((x, y) => );
console.log(temp); // 10
console.log(array); // [1, 2, 3, 4]
// x 是上一次計算過的值, 第一次迴圈的時候是陣列中的第1個元素
// y 是陣列中的每個元素, 第一次迴圈的時候是陣列的第2個元素
let array = [1, 2, 3, 4];
let bo = array.every((item, index, array) => );
console.log(bo); // false;
// every遍歷陣列, 每一項都是true, 則返回true, 只要有乙個是false, 就返回false
let array = [1, 2, 3, 4];
let tmep = array.some((item, index, array) => );
console.log(temp); // true
// 遍歷陣列的每一項, 有乙個返回true, 就停止迴圈
以上6個方法ie9及以上才支援。不過可以通過babel轉義支援ie低版本。
以上均不改變原陣列。
some、every返回true、false。
map、filter返回乙個新陣列。
reduce讓陣列的前後兩項進行某種計算,返回最終操作的結果。
foreach 無返回值。
ES6新增陣列方法
1.includes 1,2,3 includes 2 indexof要去比較是否不等於 1,表達起來不夠直觀 而且它內部使用嚴格相等運算子 進行判斷,這會導致nan不等於nan 4.擴充套件運算子 console.log 1,2,3 1 2 3 主要用於函式呼叫 es5 的寫法 es6 的寫法 m...
ES6新增陣列方法
1.擴充套件運算子可以將陣列或者物件轉為用逗號分隔的引數序列 let ary 1,2,3 ary 1,2,3 console.log ary 1 2 3,相當於下面的 console.log 1,2,3 2.擴充套件運算子可以應用於合併陣列 let ary1 1,2,3 let ary2 3,4,5...
新增陣列方法
有乙個條件不滿足,就返回false function isbelowthreshold currentvalue var array1 1,30,39,29,10,13 console.log array1.every isbelowthreshold 如果arr1的name欄位的值,全部在arr2...