js中数组常用遍历,VUE 中数组常用遍历

迷南。 2023-06-11 10:23 109阅读 0赞

js中数组常用遍历,VUE 中 数组常用遍历方法

1,filter() 遍历数组
①filter遍历数组会返回一个新的数组,
②循环次数:数组的长度

  1. /*
  2. 1,filter 循环 会返回一个新的数组
  3. 2,循环次数为是整个数组的长度
  4. */
  5. let filArr = [1,2,3,4,5,6]
  6. let newFilArr = filArr.filter( (item,i) =>{
  7. console.log("循环==i==",i);
  8. return item >= 3
  9. } )
  10. console.log("newFilArr==",newFilArr)

运行效果图如下:
在这里插入图片描述
2,some()函数进行循环 找到符合条件的便会终止循环,否则会遍历整个数组。
①符合条件时返回ture,否则返回false
②循环次数:小于等于数组长度;
③当条件满足时,就会终止循环,并返回ture,如果没有满足判断条件,会遍历整个循环

  1. /*
  2. 1,some 循环 会返回一个true 或false
  3. 2,当条件满足时,就会终止循环,并返回ture,如果没有满足判断条件,会遍历整个循环
  4. */
  5. let someArr = [1,2,3,4,5,6]
  6. let newSomeArr = someArr.some( (item,i) =>{
  7. console.log("some循环==i==",i);
  8. return item >= 3
  9. } )
  10. console.log("newSomeArr==",newSomeArr)

在这里插入图片描述

3 map()循环
①会遍历整个数组的循环
②会得到一个新的数组(返回数组是什么取决于map函数中的调用用法),如下两个例子

  1. let mapArr = ['one','two','three']
  2. let newMapArr = mapArr.map((item,i) => {
  3. console.log("map循环==i==",i);
  4. return item === 'two'
  5. })
  6. console.log("mapArr==",mapArr)
  7. console.log("newMapArr==",newMapArr)

在这里插入图片描述

  1. let mapArr = ['one','two','three']
  2. let newMapArr = mapArr.map((item,i) => item += ',haha')
  3. console.log("mapArr==",mapArr)
  4. console.log("newMapArr==",newMapArr)

在这里插入图片描述

4,forEach() 函数
①无任何返回,可改变原来数组中的内容
②循环次数:数组的长度
③不支持return,不需要return语句

如下案例:给每个对象中添加age属性

  1. let forArr = [{name:'tom',sex:'man'},{name:'linda',sex:'woman'},]
  2. forArr.forEach((item,i) => {
  3. console.log("forEach循环==i==",i);
  4. item.age = 27
  5. })
  6. console.log("forArr==遍历后===",forArr)

在这里插入图片描述

5,find()函数
①有返回值,符合条件会返回一个数组中的项,比如对象
②循环次数:小于等于数组长度

  1. 如下面3个案例所示
  2. //案例1: 返回uundefined
  3. let findArr = [{name:'tom',sex:'man'},{name:'linda',sex:'woman'},{name:'Join',sex:'man'},]
  4. let perObj = findArr.find((item,i) => {
  5. console.log("findArr循环==i==",i);
  6. return item.name === 'linda3'
  7. })
  8. console.log("perObj===",perObj)
  9. //案列2
  10. let ages = [3, 10, 18, 20];
  11. let newAge = ages.find(item => item>10)
  12. console.log("最后数据==",newAge);
  13. //案列3
  14. const arr = [{name:"Jim",age:"20"},{name:"Lily",age:"18"},{name:"Mei",age:"18"},]
  15. let age18s = arr.find((item,i)=>{
  16. console.log("findArr循环222==i==",i);
  17. return item.name === 'Lily'
  18. })
  19. console.log("age18s==",age18s);

在这里插入图片描述

6 findIndex()
①会返回符合对象或项所在的索引值,否则返回-1
②循环次数:小于等于数组的长度

  1. const arrIndex = [{name:"Jim",age:"20"},{name:"Lily",age:"18"},{name:"Mei",age:"18"},]
  2. let index = arrIndex.findIndex((item,i)=>{
  3. console.log("findIndex==循环次数i==",i);
  4. return item.name === 'Lily'
  5. })
  6. console.log("index==",index);

在这里插入图片描述

7 every()函数
①用于检测所有数组项中是否都符合某个条件,如果都符合则返回true,只要有一项不符合则返回false,后面的元素则不遍历
②循环次数:小于等于数组长度

  1. let everyArr = [{name:'tom',sex:'man'},{name:'linda',sex:'woman'},{name:'Join',sex:'man'},]
  2. let isEvery = everyArr.every((item,i) => {
  3. console.log("every循环次数==i==",i);
  4. return item.sex === 'woman'
  5. })
  6. console.log("isEvery===",isEvery)

在这里插入图片描述
some() 和every() 有点类似

发表评论

表情:
评论列表 (有 0 条评论,109人围观)

还没有评论,来说两句吧...

相关阅读