try {
/*
forEach
*/
let a = [1, 2, 3, 4, 5, 6];
// forEach() 不会返回新的数组,而是在原数组的基础上改变数组,可以用于数组的修改
a.forEach((num, index, a) => { // 三个参数分别为:子元素,索引,原数组
a[index] = num + 1 // 这样是可以改变原数组
num = num + 1 // 注意! 这样是无法改变原数组的
})
console.log(a) // [2,3,4,5,6,7]
/*
filter
*/
let aa = a.filter((num, index, a) => { // filter根据条件返回一个新的数组
return num > 3
})
console.log(aa) // [4,5,6]
/*
map 和 foreach() 不同在于他是有return 的,并且他会返回一个判断结果的新数组,做判断时返回的是布尔类型的,做计算时返回的是原始类型的
*/
var arr = [1,2,3];
var newArr = arr.map(function(value) {
return value < 2;
});
console.log(newArr); // [true, false, false]
var arr = [1,2,3];
var newArr = arr.map( x = x * 2);
console.log(newArr); // [2, 4, 6]
/*
every *****every 和 some 都只是判断,不做处理,不生成新的数组*****
*/
let aaa = a.every((num, index, a) => { // every 中每一个元素都要大于3 返回 true, 否则返回 false
return num > 3
})
console.log(aaa) // false
/*
some
*/
let aaaa = a.some((num, index, a) => { // some 中任意一个只要大于3 返回 true, 没有任何一个 返回 false
return num > 3
})
console.log(aaaa) // true
} catch (error) {
throw new Error("EndIterative")
}
forEach(),filter(),map(),every(),some() 遍历之间的区别
于 2020-11-04 16:04:32 首次发布