首页 > 其他分享 >数组遍历的方法

数组遍历的方法

时间:2022-09-25 20:33:16浏览次数:50  
标签:arr 遍历 console log flag 数组 var return 方法

数组遍历的方法

forEach 类似与for循环

不会改变原数组

将数组中的2全部加1

const arr = [1,2,3,2]
var newArr = []
 arr.forEach(v=>{
   if(v===2){
    v=v+1
   }
   newArr.push(v)

 })
 console.log(newArr);    //[ 1, 3, 3, 3 ]
 console.log(arr);      //[ 1, 2, 3, 2 ]


every

不会改变原数组

every 判断 有一个不符合条件就停止判断,输出false,全部符合就为true

//every 判断 有一个不符合条件就停止判断,输出false,全部符合就为true
const arr = [1,2,3,2]
var flag = arr.every(v=>{
  return v>0

})
 console.log(flag);   //true


const arr = [1,2,3,2]
var flag = arr.every(v=>{
  return v>2

})
 console.log(flag);   //false

some

some 判断 是否存在某个元素 ,有一个符合条件就停止判断就返回true

const arr = [1,2,3,2]
var flag = arr.some(v=>{
  return v<2
  })
  console.log(arr);   //[1,2,3,4]
  console.log(flag)  //true

map

修改并返回新数组 修改每一项

const arr = [1,2,3,2]

var flag = arr.map(v=>{
  
   return v+''
 })
 console.log(flag);  // ['1','2','3','2']
 console.log(arr);   //[1,2,3,2]


var flag = arr.map(v=>{
  
   return v+1
 })
 console.log(flag);  // [2,3,4,3]
 console.log(arr);   //[1,2,3,2]

filter

过滤并返回新数组 只取自己需要的

const arr = [1,2,3,2]  

var flag = arr.filter(v=>{
   
   if(v>2)
   return v
  })
  console.log(flag); //[3]

find

找到并返回数组元素,不会生成新数组

const arr = [1,2,3,2]  

var flag = arr.find(v=>{
return v>2
})
console.log(arr);   // [1,2,3,2]  
console.log(flag); //3

findIndex

找到并返回数组元素索引,不会生成新数组

const arr = [1,2,3,2]  

var flag = arr.find(v=>{
return v>2
})
console.log(arr);   // [1,2,3,2]  
console.log(flag); //2

flatMap

只能拉平二维数组

const arrs = [1,2,3,[5,1],[[1]]]
var flag = arrs.flatMap(v=>{
  return v
  })
  console.log(arrs);  //[1,2,3,[5,1],[[1]]]
  console.log(flag)   //[ 1, 2, 3, 5, 1, [ 1 ] ]


const arrs = [1,2,3,[5,1],[1]]
var flag = arrs.flatMap(v=>{
  return v
  })
  console.log(arrs);  //[1,2,3,[5,1],[[1]]]
  console.log(flag)   //[ 1, 2, 3, 5, 1, 1 ]]

reduce

不改变原数组

求和

const arr = [1,2,3,2]  
var flag = arr.reduce((sum,v)=>{
  return sum+v
  })
  console.log(arr);  // [1,2,3,2]  
  console.log(flag)  //8

不改变原数组,合并二维数组

var arr1 = [[0,1],[2,3],[4],5]
var arr2 = arr1.reduce((a,b)=>{
 return a.concat(b)
})
console.log(arr1);  //[ [ 0, 1 ], [ 2, 3 ], [ 4 ], 5 ]
console.log(arr2);  //[ 0, 1, 2, 3, 4, 5 ]

合并二维数组

var arr1 = [[0,1],[2,3],[4],5]
var arr2 = arr1.join().split(',') 
console.log(arr2);  //[ '0', '1', '2', '3', '4', '5' ]

标签:arr,遍历,console,log,flag,数组,var,return,方法
From: https://www.cnblogs.com/wszzj/p/16728761.html

相关文章

  • spring中定义bean的方法有哪些
    前言在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜。我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我......
  • C#中Array类中的常用方法(本章选出较常用方法,并不是所有方法)
    Array.SortArray类中相当实用的我认为是Sort方法,相比起冗长的冒泡排序,它的出现让排序更加的简化 结果如下:  还可以声明一个静态方法用来专门调用指定数组排......
  • 【C++】从零开始的CS:GO逆向分析1——寻找偏移与基址的方法
    【C++】从零开始的CS:GO逆向分析1——寻找偏移与基址的方法 前言:此文章主要用于提供方法与思路,fps游戏基本都能如此找偏移,文章里找的偏移比较少,主要用来演示寻找思路,文......
  • win11删除Windows.old方法
    win11删除Windows.old方法在win11中,系统由于更新和安装会留下Windows.old缓存文件,非常占用内存,这时候我们可以通过磁盘清理的方式来删除win11下的Windows.old文件夹。......
  • vue中检测不到数组或者对象发生改变,如何解决? vue更新数组时触发视图更新的方法
    vue中检测不到数组或者对象发生改变,如何解决? this.$set(对象/数组,键,值)Vue.set(对象/数组,键,值)给对象增加新属性、给数组增加属性都可以响应!this.$delete(对......
  • 工厂方法模式 Factory Method
    “对象创建”模式通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。典型模式......
  • java方法
    java方法什么是方法packagecharpter3;​publicclassFanFa{  publicstaticvoidmain(String[]args){    inta=1;    intb=1;    S......
  • 函数式接口作为方法的参数案例和函数式接口作为方法的返回值类型案例
    函数式接口作为方法的参数案例:/*假如java.lang.Runnable接口就是一个函数式接口假设有一个startThread方法使用该接口作为参数,那么参数就可以使用Lambda进行传......
  • python安装包的八种方法
    1.使用easy_installeasy_install这应该是最古老的包安装方式了,目前基本没有人使用了。下面是easy_install的一些安装示例# 通过包名,从PyPI寻找最新版本,自动下载、......
  • Java-方法
    什么是方法System.out.println(),那么它是什么呢?-->类.对象.方法()Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包......