总结数组迭代笔记
七娃博客808人阅读
先造一个数组:
let a = [1,22,33,4,5,63,7,33];
1. forEach() 迭代遍历后跟三个参数:值,索引,数组本身;
a.forEach(aa); function aa(val,index,array){ console.log(index+"*"+val); //0*1 1*22... }
2. map()通过对每个数组元素执行函数来创建新数组,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略
let b = a.map(bb); function bb(val){ return val+1; } b.forEach(cc); function cc(val,index,array){ console.log(index+"--"+val); // 0--2 1--23... }
3.filter()方法创建一个包含通过测试的数组元素的新数组,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略
let c = a.filter(dd); function dd(val){ return val > 20; } c.forEach(ii); function ii(val,index,array){ console.log(index+":"+val); // 0:22 1:33.... }
4. reduce()将数组值合并为一个,减少数组数量,用于累计,累乘等场合,接受4个值:总数,值,index,array,index和array可以省略,不会改变原数组;
var sum = a.reduce(ee); function ee(total, value) { return total * value; } console.log(sum); //211309560
5. every()检查全部值是否通过测试,返回布尔值,都满足条件为true,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略
var allOver18 = a.every(ff); function ff(value) { return value > 18; } console.log(allOver18); // false
6.some() 方法检查某些数组值是否通过了测试,返回布尔值,当仅需value时,index和array可以省略。
var someOver18 = a.some(gg); function gg(value) { return value > 18; } console.log(someOver18);// true
7.indexOf() 方法在数组中搜索元素值并返回其位置-索引值,参数:indexOf(item, start开始位置);lastIndexOf()从数组结尾开始搜索并返回位置。
let indexs = a.indexOf(33); console.log(indexs); //2
8.find() 方法返回通过测试函数的第一个数组值,迭代函数后跟三个参数:值,索引,数组本身,当仅需value时,index和array可以省略;findIndex() 方法返回通过测试函数的第一个数组元素的索引。
let ab = a.find(hh); function hh(val){ return val > 33; //63 }
评论 | 0 条评论
登录之后才可留言,前往登录