1.filter數組
filter:「過濾」、「篩選」。指數組filter後,返回新數組(經過callback函數測試的全部元素)。函數
var a1 = ['a', 10, 'b', 20, 'c', 30]; var a2 = a1.filter(function(item) { //callback必須返回true或者false,返回true保留該元素,false不保留。 return typeof item === 'number'; }); console.log(a2); // [10,20,30]
2.map
map:方法返回一個由原數組中的每一個元素調用一個指定方法後的返回值組成的新數組.
不修改調用的原數組測試
var a = [1, 2, 3, 4, 5] var b = a.map(( return item + 1; }); console.log(b); // [2, 3, 4, 5, 6] var b2 = a.map((item) => { if(item >3){ return item; } }); console.log(b2); // [undefined, undefined, undefined, 4, 5]
3.forEach
簡單來講,就是遍歷數組元素code
var a = [1, 2, 3, 4, 5]; var b = []; a.forEach((item) => { b.push(item + 1); }); console.log(b); // [2,3,4,5,6]
4.fill
fill: 使用給定值,填充一個數組從起始索引到終止索引 內的所有元素。(不包括終止索引)
空數組的初始化比較方便索引
var a = [1, 2, 3].fill(6); console.log(a);// [6, 6, 6] var b = new Array(6).fill(9); console.log(b);// [9, 9, 9, 9, 9, 9] var b = b.fill(1, 1); console.log(b);// [9, 1, 1, 1, 1, 1] var b = b.fill(6, 1, 3); console.log(b);// [9, 6, 6, 1, 1, 1]
5.every 和 some
every測試數組中全部元素是否都經過了指定函數的測試
some測試數組中是否至少有一項元素經過了指定函數的測試it
var a = [1, 2, 3, 4]; var bb = a.every((item) => { return item > 2; }); console.log(bb); // false var cc = a.some((item) => { return item > 2; }); console.log(cc);// true