includes 、indexOf、find、findIndex

let array=[1,2,4,5]

// includes 包含某个值 就返回true
let ee = array.includes(2)
console.log( ee ); // true

// find 返回第一个符合条件的元素
let er = array.find(v=>v>2);  
console.log(er);  // 4 

// findIndex 返回符合条件的索引
let er1 = array.findIndex(v=>v==4);
console.log(er1);  // 2

// indexOf 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1
// 没有检测打返回 -1
// 第一个参数:规定需检索的字符串值。
// 第一个参数:可选,规定在字符串中开始检索的位置。

console.log(array.indexOf(6));  //-1
console.log(array.indexOf(5));  //3
console.log([1,2,5,2,2,3,4,2].indexOf(2,5));  // 7 第二参数表示,从该数组索引5开始检测
var str="Hello world!"
console.log('-------------');
console.log(str.indexOf("Hello")) // 0
console.log(str.indexOf("World")) // -1  因为大小写敏感
console.log(str.indexOf("world")) // 6
总结:
  • 1.find()与findIndex()参数与用法相同,不同的是find返回元素,findIndex返回索引;找不到时find返回undefined,findIndex返回-1.

  • 2.findIndex()与indexOf(),findIndex比indexOf更强大一些,可以通过回调函数查找对象数组,indexOf只能查找数组中指定的值,不过indexOf可以指定开始查找位置的索引.

  // 可以利用 indexOf() 来去重  例:
  let test = [1,2,5,8,2,1,2,4,'ee','ee','qw','qa','qq','qa']
  let newTest = []
  test.forEach(i => {
    if(newTest.indexOf(i)==-1) 
    newTest.push(i)
  });
  console.log(newTest); // [1, 2, 5, 8, 4, "ee", "qw", "qa", "qq"]

  // 补充: 最简便的去重
  let ar = []
  ar = [...new Set(test)]
  console.log(ar); // [1, 2, 5, 8, 4, "ee", "qw", "qa", "qq"]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值