js中对数组的操作,forEach、every、filter、some、map、reduce、reverse

forEach

对数组的每个元素执行一次提供的函数。功能和for循环类似不过不能提前终止循环。

  • 第一个参数,当前元素 必填
  • 第二个参数,当前索引 可选
  • 第三个参数,当前的数组 可选(一般不用)
let a = ['tom','jeck','jep','jeck']
a.forEach((item,index,array)=>{
	console.log(item,index,array)
})

打印结果
在这里插入图片描述

every

测试数组内所有元素是否都能通过某个指定函数的测试。返回布尔值。

let a = ['tom','jeck','jep','jeck']
console.log(a.every((item,index,array)=>item === 'tom'))

在这里插入图片描述
如果是一个空数组始终返回true

let a = []
console.log(a.every((item,index,array)=>item === 'tom'))

在这里插入图片描述

some

如果用一个空数组进行测试,在任何情况下它返回的都是false。
循环检测数组中是否至少有1个元素通过了被提供的函数测试。返回Boolean类型的值。

  • 使用场景
    多用于检测一个数组中是否存在某个值
let a = ['tom','jeck','jep','jeck']
console.log(a.some((item,index,array)=>item === 'tom'))

在这里插入图片描述

map

创建一个新的数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果

let a = [{label:'武汉',id:111},{label:'上海',id:222}]
console.log(a.map(item=>item.label))

在这里插入图片描述

filter

循环原数组,如果满足函数要求就将当前项添加到新的数组中

let a = [{name:'tom',age:18,height:180},{name:'jeck',age:18,height:182},{name:'blck',age:19,height:180}]
console.log(a.filter(item=>item.age === 18))

在这里插入图片描述

reduce

对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值

let a = [1,3,4,4]
console.log(a.reduce((pre,next)=>pre+next))

在这里插入图片描述

reverse

对数组进行反向排序

let a = [1,3,4,4]
console.log(a.reverse())

在这里插入图片描述

发布了96 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_35958891/article/details/103819870