let arr=[1,2,3,4,5,6,7];
console.log(arr.forEach((v, i) => v*2));
console.log(arr);
arr.forEach((v, i) => {
if (v > 1) {
console.log(v);
}
});
// 根据函数的用法来 既然是遍历,那就 遍历每一项
// undefined
// (7) [1, 2, 3, 4, 5, 6, 7]
// 2
// 3
// 4
// 5
// 6
// 7
// 猜测 arr.filer 的 callback 参数次序 是 v,i,arr
let arr = [1,2,3,4,5]
// arr.map((i, v) => {
// console.log(i + '-----' + v);
// })
/*
1-----0
2-----1
3-----2
4-----3
5-----4
*/
// arr.map return 被修改后的新数组 我是不知道怎么验证
// console.log(arr.map((i, v) => {
// v = v*2;
// }))
/*
Array(5)0: undefined1: undefined2: undefined3: undefined4: undefinedlength: 5__proto__: Array(0)
*/
// var arr2 = arr.map((i, v) => {
// v = v*2;
// })
// console.log(arr);
//[1, 2, 3, 4, 5]
// console.log(arr.map((i, v) => v=v*2));
// (5) [0, 2, 4, 6, 8]
// 验证:参数 次序 是否是 v,i,arr
// let arr1 = arr.filter((v, i) =>
// v < 3
// )
// console.log(arr1);
//[1,2] 说明 i 是 值,也就是 第一位是值
// let arr1 = arr.filter((v, i) => i < 3)
// console.log(arr1);
//[1, 2, 3]
// 验证:arr.filter 返回 符合要求的 数组,验证方法
// 就是 console.log
// console.log(arr.filter((v, i) =>
// v < 4
// ));
// [1,2,3]
console.log(arr.filter((v,i) => v>1));
console.log(arr.filter((v,i) => { return v>1}));
console.log(arr.filter((v,i) => {v>1}));
(4) [2, 3, 4, 5]
(4) [2, 3, 4, 5]
[]
充分感觉出来自己是有多蠢了,混得不好,其实就是智商问题。
总结一些关键的地方吧,说说 有几次 验证错在哪里:
1.因为 map 和 map 返回一个新数组,console.log()结果是 undefined,错误地 使用 {} 以及 不使用 {}
2.参数顺序 查个资料还被误导 也是无语 依次是 v,i,arr
3.傻乎乎的 用filter ,写 v= v*2 这样,不是 找抽呢么
filter 的用时候 是比较 范围,forEach 和 map 可以操作 数组的值
4.some filter every 可以集中 记忆,都是 判断是否符合
https://blog.csdn.net/huangpb123/article/details/76861748
具体 我也不说了