javascript迭代方法、歸併方法
阿新 • • 發佈:2019-02-15
迭代方法
every()方法
對陣列中的每一項執行給定函式,如果該函式對每一項都返回true,則返回true
let number = [1,2,3,4,5,6,7,8,9,10,11,12,1,31,21];
例子1:
let everyResult = number.every(function(item,index,array){
console.log('item:'+item); //item:1
console.log('index:'+index); //index:0
console.log('array:'+array); //array:1,2,3,4,5,6,7,8,9,10,11,12,1,31,21
});
console.log(everyResult); // false
例子2:
let everyResult2 = number.every(function(item,index,array){
return item>2;
});
console.log(everyResult2); // false
例子3:
let everyResult3 = number.every(function(item,index,array){
return item>=1;
});
console.log(everyResult3); // true
some()方法
對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true。
例子1:
let someResult = number.some(function(item,index,array){
console.log('item:'+item); //每一項都輸出
console.log('index:'+index);
console.log('array:'+array);
});
console.log(someResult); // false
例子2:
let someResult2 = number.some(function(item,index,array) {
return item>2;
});
console.log(someResult2); // true
例子3:
let someResult3 = number.some(function(item,index,array){
return item<0;
});
console.log(someResult3); // false
filter()方法
對陣列中的每一項執行給定函式,返回函式會返回true的項組成的陣列。
例子1:
let filetResult = number.filter(function(item,index,array){
console.log('item:'+item);
console.log('index:'+index);
console.log('array:'+array);//迴圈輸出所有項
});
console.log(filetResult);// 空陣列
例子2:
let filetResult2 = number.filter(function(item,index,array){
return item>4;
});
console.log(filetResult2);// (10) [5, 6, 7, 8, 9, 10, 11, 12, 31, 21]
例子3:
let filetResult3 = number.filter(function(item,index,array){
return item<1;
});
console.log(filetResult3);//空陣列
map()方法
對陣列中的每一項執行給定函式,返回每次函式呼叫的結果組成的陣列。
例子:
let mapResult = number.map(function(item,index,array){
return item*2;
});
console.log(mapResult);//(15) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 2, 62, 42]
forEach()方法
對陣列中的每一項執行給定函式,沒有返回值。
numbers.forEach(function(item,index,array){
//執行某些操作
});
歸併方法
reduce()和reduceRight()這兩個方法都會迭代陣列的所有項,然後構建一個最終返回的值。
reduce()方法從第一項開始逐個遍歷到最後
reduceRight()方法從最後一項開始,向前遍歷到第一項。
函式的四個引數:前一個值,當前值,項的索引,陣列物件。
例子1:
let reduceResult = number.reduce(function(prev,cur,index,array){
return prev + cur;
});
console.log(reduceResult); //131
例子2:
let reduceRightResult = number.reduceRight(function(prev,cur,index,array){
return cur*2;
});
console.log(reduceRightResult); //2