.map
array.map(function(currentValue,index,arr), thisValue)
map方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map方法按照原始数组元素顺序依次处理元素,不会对空数组进行检测,不会改变原始数组。
var numbers = [1, 2, 3];
numbers.map((n) => {
return n + 1;
});
// [2, 3, 4]
.forEach
forEach和map方法使用类似,但不同是的,forEach按照顺序把数组中的元素传递给 forEach中的匿名函数使用,对于空数组则不会调用到匿名函数。
.filter
filter方法会将所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。
const arr = [1, 2, 3, 4, 5]
arr.filter((n) => {
return n > 2;
})
// [3, 4, 5];
.some
some方法只要有一个数组成员的返回值是true,则整个some方法的返回值就是true,否则false。空数组返回false。
const arr = [1, 2, 3, 4, 5]
arr.some((n) => {
return n > 2;
})
// true;
.every
every方法所有数组成员的返回值都是true,则返回true,否则false。空数组返回true。
const arr = [1, 2, 3, 4, 5]
arr.some((n) => {
return n > 2;
})
// false;
.reduce。
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce方法使用指定的函数将数组元素进行组合,生成单个值。可以传入两个参数,第一个参数是回调函数function(total, currentValue, currentIndex, arr)
,第二个参数是initialValue(可不传)。
- total 必需。初始值, 或者计算结束后的返回值。
- currentValue 当前数组元素的值。
- currentIndex 当前数组元素的数字索引。
- arr 包含该元素的数组对象。
const arr = [1, 2, 3, 4, 5]
arr.reduce((pre, cur) => {
return pre + cur;
})
// 15
.reduceRight方法与.reduce方法类似,区别就是.reduceRight是降序遍历,初始值是数组.length - 1