forEach()
- Writing format:
- Features: Normal traversal. There is no requirement for the return value.
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r1=arr.forEach(v=>{
console.log("每一次迭代:",v);
return 1;
});
console.log("迭代完成后的返回值:",r1);//不论return后是什么都是undefined,说明返回值对他没有任何影响
map()
- Writing format:
- Features: mapping, professional pairs. Return value of the original array is mapped to a new array
- Common:
map().join()
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r2 = arr.map(v => {
console.log("每一次迭代:", v);
//对比
return 1; //返回一个新数组,元素值全部为1
return 1 + v; //返回一个新数组,元素值为遍历出的每个元素加1
return `<li>${v}<li>`;//可通过map().join("")无缝拼接,得到一个字符串,使用innerHTML渲染即可
});
console.log("迭代完成后的返回值:", r2);
filter()
- Writing format:
- Features: filtering, the condition returns to an array (the determination result is true) value. If you are not satisfied, then it returns an empty array.
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r3 = arr.filter(v => {
console.log("每一次迭代:", v);
return 0;//false 写死了返回结果,每一个都不满足,返回空数组
return 1;//true 每一个都满足,返回一个存放所有元素的新数组
return v>7;//[8,9,10] 根据return的对比结果来进行筛选,将结果为true的元素返回为一个新数组
});
console.log("迭代完成后的返回值:", r3);
some()
- Writing format:
- Function: judgment.
- Features: There is a meet, it returns true and stop the walk. Not satisfied only returns false.
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r4 = arr.some(v => {
console.log("每一次迭代:", v);
//对比
return 1;//true 只遍历一次,因为return被写死,1就是true,代表找到了满足要求的数据,既然找到了,就不会继续遍历了
return v>7;//返回9,遍历结束后的返回值为true(有一个满足就返回true)
});
console.log("迭代完成后的返回值:", r4);
every()
And some method comparison study.
- Writing format:
- Function: judge
Features: Each element in the array satisfies the condition before returning true. Are not met, it returns false and stop looking.
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r5 = arr.every(v => {
console.log("每一次迭代:", v);
//对比
return 1;//true
return 0;//false 找到第一个不满足的就返回false,不会继续往下执行
return v<7;//遍历到7
});
console.log("迭代完成后的返回值:", r5);
reduce()
- Writing format:
- Function: iterative update
- Features: There are original value. You can get on a calculation result by return.
let arr = [1, 3, 4, 7, 2, 9, 5, 6, 8, 10];
let r6 = arr.reduce((pre,cur) => {
console.log("每一次迭代:", pre,cur);
return pre+cur;//返回值会作为下一次的pre,与cur进行运算,迭代更新
},0);
console.log("迭代完成后的返回值:", r6);