- Array.forEach() (遍歷)function() {}
· 從頭到尾遍歷數(shù)組(只能通過(guò)try/catch終止循環(huán))
· 不改變?cè)瓟?shù)組
第一個(gè)參數(shù): 元素
第二個(gè)參數(shù): 下標(biāo)
第三個(gè)元素: 原數(shù)組
var arr = [3, 4, 5, 6];
var brr = arr.forEach(function (ele, index, array) {
console.log(ele, index, array);
});
console.log(brr); // undefined
- Array.map(); (映射)
· 返回新數(shù)組,不改變?cè)瓟?shù)組
· 要有return
var arr = [3, 4, 5, 6];
var res = arr.map(function (ele, index, arr) {
console.log(ele, index, arr);
return ele + 1;
});
console.log(res); // [4, 5, 6, 7]
console.log(arr); // [3, 4, 5, 6]
3.Array.filter() 過(guò)濾
· 返回滿足條件的元素組成的新數(shù)組
· return 條件; // 元素是否滿足你定義的條件
var arr = [3, 4, 5, 6];
var res = arr.filter(function (ele, index, arr) {
console.log(ele, index, arr);
return ele >= 4;
});
console.log(res); // [4, 5, 6]
console.log(arr); // [3, 4, 5, 6]
4.Array.every() 和 Array.some()
·every():每一項(xiàng)都返回true蜂挪,則返回true
·some(): 某一項(xiàng)返回true加叁,則返回true
5.reduce()和reduceRight()
使用指定的函數(shù)將數(shù)組元素進(jìn)行組合财忽,生成單個(gè)值
指定函數(shù)中第一個(gè)參數(shù)為 前一個(gè)值
第二個(gè)參數(shù)為 前一個(gè)值
array.reduce(function (上一個(gè)值, 當(dāng)前元素) {}, 起始值)
reduce():從數(shù)組的第一項(xiàng)開始,逐個(gè)遍歷到最后一個(gè)
reduceRight() 則從數(shù)組的最后一項(xiàng)開始,向前遍歷到第一項(xiàng)