ES5数组新方法(详解)

导读

本文介绍ECMAScript 5 语法新增的常用数组新方法


 ①:forEach

  let Arr = [20, 50, 87, 99, 10];
  let newarr = Arr.forEach((element, index) => {
    element += 1;
    console.log(element); //20,50,87,99,10
  });
  console.log(Arr);     //[20,50,87,99,10]
  console.log(newarr);  //undefined

forEach的callback接收三个参数,分别是当前项、当前索引、原数组,没有返回值,且不能使用return、break跳出循环;


 ②:map

  let Arr = [20, 50, 87, 99, 10];
  let newarr = this.Arr.map(element => {
    Arr.push(1);
    return (element += 1);
  });
  console.log(Arr);     //[20, 50, 87, 99, 10, 1, 1, 1, 1, 1, 1, 1, 1]
  console.log(newarr);  //[11, 21, 22, 31, 43, 56, 67, 76]

map可以返回一个新数组,且新增项不会进入本次循环,性能不如forEach;


 ③:filter

  let Arr = [20, 50, 87, 99, 10];
  let newarr = Arr.filter(element => {
    return element > 50;
  });
  console.log(Arr);     //[20, 50, 87, 99, 10]
  console.log(newarr);  //[87, 99]

filter返回符合判断条件的新数组,类似forEach + push组合,用到次数比较多;


④:every

  let Arr = [20, 50, 87, 99, 10];
  let IStrue = Arr.every(element => {
    return typeof element === "number";
  });
  console.log(IStrue);  //true

every返回布尔值,如果数组内所有项都满足判断条件 返回true,有一项不满足则返回false;


⑤:some

  let Arr = [20, 50, 87, 99, 10];
  let IStrue = Arr.some(element => {
    return element > 50;
  });
  console.log(IStrue);  //true

some返回布尔值,如果数组内所有项只要有一项满足判断条件 返回true,均不满足 则返回false;


⑥:indexOf

  let Arr = [20, 50, 87, 99, 10];
  console.log(Arr.indexOf(99));   //3
  console.log(Arr.indexOf(100));  //-1

indexOf会检索数组中的某个元素值并返回其位置,若不存在则返回-1;

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米斯特曹、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值