原生JS中判断数组中是否包含某个元素的若干种方法

第一种 使用indexOf方法

1
2
3
4
var arr = ["A", "B", "C", "D"];

var index = arr.indexOf("A");
//如果返回-1 则表示不存在

第二种 使用find方法

1
2
3
4
5
6
var arr = ["A", "B", "C", "D"];

var element = arr.find(function(value){
return value == "A";
});
//如果没有找到返回undefined 否则返回符合条件的元素

第三种 使用findIndex方法

find方法类似, 只不过返回值不一样

1
2
3
4
5
6
var arr = ["A", "B", "C", "D"];

var index = arr.find(function(value){
return value == "A";
});
//如果没有找到返回-1 否则返回符合条件元素的角标

第四种 使用for循环

1
2
3
4
5
6
7
var arr = ["A", "B", "C", "D"];

arr.forEach(e=>{
if(e=="A"){
//找到元素
}
})

第五种 使用includes方法

1
2
3
4
var arr = ["A", "B", "C", "D"];

arr.includes("A");
//返回true表示存在 否则返回false

第六种 使用some方法

1
2
3
4
5
6
var arr = ["A", "B", "C", "D"];

var index = arr.some(function(value){
return value == "A";
});
//返回true表示存在 否则返回false

第七中 使用filter方法

1
2
3
4
5
6
var arr = ["A", "B", "C", "D"];

var newArr = arr.filter(function(value){
return value == "A";
});
//返回一个新数组, 如果新数组有数据 表示存在

第八中 自定义扩展方法

1
2
3
Array.prototype.has = function ( target) {
return this.includes(target);
};

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

0%