1. 程式人生 > >javascript迭代方法、歸併方法

javascript迭代方法、歸併方法

迭代方法

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