JS数组的5个迭代方法


前言

ECMAScript为数组定义了5个迭代方法,每个方法接受两个参数,第一个参数是一个以每个数组元素为参数运行迭代的函数,该函数接受3个参数,分别是数组元素、索引、数组本身,第二个参数为可选参数,即影响函数作用域的this对象。
注意,这5个方法都不会改变调用它们的数组。

一、 every()(返回布尔值)

如果对于每一个元素的迭代都返回true,则这个方法返回true,有一项为false,就返回false

let num = [1,2,5,4,87,99];

let flag = num.every( item => {
	  return item > 2 ;
})
 console.log(flag);//false

必须每一项都为true,该方法才返回true,在该案例中,当函数迭代到5时就返回false了,所以flag为false

二、some()(返回布尔值)

当迭代到某一项为true时即返回true,剩下的项则不再进行迭代,该方法对于内存开销较小,推荐使用

let num = [1,2,5,4,87,99];

let flag = num.some( item => {
	  return item > 2 ;
})
 console.log(flag);//true

三.map(返回新数组)

map将每一项进行一个处理,把处理后的项添加到一个新数组并返回

let num = [10,2,5,4,87,99];
let newsArray = num.map(item => {
	  return item * 3 
})
console.log(newsArray);//[30, 6, 15, 12, 261, 297]

四.filter()(返回新数组)

filter()将条件为true的项添加到一个新数组并返回,通常用于过滤数组的项并得到一个新数组

let num = [1,2,5,4,87,99];
let newArray = num.filter( item => {
	return item > 2 
})
console.log(newArray);// [5, 4, 87, 99]

四.forEach()(无返回值,相当于for循环)

forEach() 没有返回值,相当于使用for循环遍历数组

const num = [10, 2, 5, 4, 87, 99]
const newsforEachArray = [];
num.forEach(item => {
	newsforEachArray.push(item)
})
console.log(newsforEachArray);//[10, 2, 5, 4, 87, 99]
console.log(newsforEachArray === num);//false 实现了数组浅拷贝
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值