5个JavaScript判断数组是否包含某个值的方法
1.使用数组的some方法
使用some方法更简洁,一旦找到元素,迭代就会终止, let arr=[{id:1,name:"张三"},{id:2,name:"张三2"},{id:3,name:"张三3"}] const newarr=arr.some(item => item.name === "张三2"); console.log(newarr); // true2.使用数组的filter方法
filter方法返回的是一个数组let arr=[{id:1,name:"张三"},{id:2,name:"张三2"},{id:3,name:"张三3"}] const newarr=arr.filter((item)=> { return item.name ==="张三2"}).length > 0; console.log(newarr); // true3.array.find方法
find用于返回数组中满足条件的第一个元素的值,如果没有,返回undefined let arr=[{id:1,name:"张三"},{id:2,name:"张三2"},{id:3,name:"张三3"}] const newarr=arr.find((item)=> { return item.name ==="张三2"}); console.log(newarr); // { id: 2, name: "张三2" }4.array.indexOf方法
array.indexOf此方法判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1。 [0, 1, 3].indexOf(1);//0 ["张三", "张三3", "b张三2"].indexOf("张三");//1 [1, -2, -3].indexOf(4);//-1
注意:
1、 indexOf() 方法对大小写敏感!如果要检索的字符串值没有出现,则该方法返回 -1。
2、 在比较第一个参数与数组中的每一项时,会使用全等操作符,即要求查找的项必须严格相等 5.array.includes方法
array.includes(searchElement[, fromIndex]) 此方法判断数组中是否存在某个值,如果存在返回 true,否则返回false。 [1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false [1, 2, NaN].includes(NaN); // true