ES5中的数组方法(二)

37 篇文章 0 订阅
27 篇文章 0 订阅
  • forEach()
    forEach()方法从头至尾遍历数组,为每个元素调用指定的函数。如上所述.传递的函数作为forEach()的第一个参数。然后forEach()使用三个参数调用该函数:数组元素、元素的索引和数组本身。如果只关心数组元紊的值,可以编写只有一个参数的函数—额外的参数将忽略:
    在这里插入图片描述注意,forEach()无法在所有元紊都传递给调用的函数之前终止通历。也就是说,没有像for循环中使用的相应的break语句.如果要提前终止,必须把forEach()方法放在一个try块中,并能抛出一个异常.如果forEach()调用的函数抛出foreach.break异常,循环会提前终止:
    在这里插入图片描述- map()
    map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值。例如:
a = [1,2,36];
b = a.map(x=>{return x*x})

传递给map()的函数的调用方式和传递给forEach()的函数的调用方式一样。但传递给map()的函数应该有返回值.注,map()返回的是新数组:它不修改调用的数组.如果是稀疏数组,返回的也是相同方式的稀疏数组:它具有相同的长度,相同的缺失元素。

  • filter()
    fliter()方法返回的数组元素是调用的数组的一个子集.传递的函数是用来逻辑判定的:该函数返回true或false.调用判定函数就像调用forEach()和map()一样.如果返回值为true或能转化为true的值,那么传递给判定函数的元素就是这个子集的成员,它将被添加到一个作为返回值的数组中。例如:
    在这里插入图片描述【注】:filter()会跳过稀疏数组中缺少的元素,它的返回数组总是稠密的。为了压缩稀疏数组的空缺,代码如下:
a = new Array(3)
a[3] = 1
a.filter(item=>item)

甚至,压缩空缺并删除 undefined 和 null元素,可以这样使用 filter()

a = a.filter(function(x){return x !=undefined && x !=null })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值