includes 、indexOf、find、findIndex
程序员文章站
2023-12-23 12:28:46
...
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"]
推荐阅读
-
includes 、indexOf、find、findIndex
-
find(), findIndex(), includes()的使用
-
indexOf方法和includes方法
-
ES6中Array.find()和findIndex()函数的用法详解
-
除了indexOf和includes方法,不妨来了解一下match方法
-
includes,startsWith,endsWith,find,findIndex 的应用与 indexOf
-
数组的includes方法和indexOf的区别
-
includes,find,some,every
-
js数组中的find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()方法的详解和应用实例
-
ES6/07/Array的扩展方法,...扩展运算符,Array.from(),(arr.find(),arr.findIndex()和arr.includes())模板字符串,Set数据结构