数组使用中的小技巧

1. Array.includes 替代 Array.indexOf

如果需要查找一个元素在数组中的具体索引,并且后面需要这个索引值,使用Array.indexOf(返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1); 但是如果只需要知道数组中 存不存在该元素(布尔值),则直接使用Array.includes即可

var a = [3,6,1,3,6]; 
a.indexOf(6);       //输出 1
a.indexOf(3);       //输出 0
a.indexOf(8);       //输出 -1

a.includes(6);      //输出 true
a.includes(7);      //输出 false

2. Array.find 替代 Array.filter

如果知道经回调函数过滤后,只会剩余唯一的一项,那么建议使用Array.find;Array.filter 必须遍历整个数组。如果原数组中有成千上万项,回调函数需要执行的次数是相当多的,Array.find与 Array.filter 一样需要一个回调函数,(但只是返回)符合条件的第一项,当找到符合回调函数过滤条件的第一个元素时,它会立即停止往下的搜寻,不再遍历整个数组。

var a = [5,3,9,6]; 
a.filter(function(val) {
  console.log(val);
  return val > 5;
});
//输出  返回过滤后的数组
5
3
9
6

(2) [9, 6]


var a = [5,3,9,6]; 
a.find(function(val) {
  console.log(val);
  return val > 5;
});
//输出 返回找到的第一个元素
5
3
9

9

3.Array.some 替代 Array.find

var a =  [5, 3, 9, 6];
a.some(function(val){
  console.log(val);
  return val>5
});
//输出
5
3
9
true

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值