js数组查找是否包含方法总结

JavaScript021

js数组查找是否包含方法总结,第1张

var arr = [1, 2, 3, 4, 5, 6]

方法一: indexOf (常用)

if (arr.indexOf(2) !== -1) { console.log("包含2") }

方法二: find() 该方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined

if (arr.find(item =>item === 2)) { console.log("包含2") }

方法三: findIndex()   和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1

if (arr.findIndex(item =>item === 2) !== -1) { console.log("包含2") }

方法四: some()  查找复合条件的元素, 如果查找到返回true, 反之false

if (arr.some(item =>item === 2) { console.log("包含2") }

方法五: 循环遍历 如map, forEach, if()等等, 此处只用forEach举例

aa.forEach(item =>{if (item === 2) {console.log("包含2")}})

const [A,B,C] = [

[{A:'a',B:'b',C:'c'},{D:'d',E:'e',F:'f'},{H:'h',I:'i',J:'j'}],

[{1:1,2:2,3:3},{4:4,5:5,6:6}],

[{A:1,B:2,C:3},{D:4,E:5,F:6},{H:7,I:8,J:9}]

]

console.log(A,B,C)

function test(){

var arrs=new Array('a',new Array("1","2","3","4","5"),'b')

for(key in arrs){

arr=arrs[key]

var bool=isArray(arr)

if(bool==false)alert('不是数组')

else alert('是数组')

}

}

function isArray(obj) {

//return obj instanceof Array//第一种

return Object.prototype.toString.call(obj) === '[object Array]'//第二种

}

首先遍历数组,再判断数组的value是不是数组。