检查嵌套数组JavaScript中是否存在数组


let arr1 = [['item 1', 'item 2'],['item 3', 'item 4']]
let arr2 = ['item 1', 'item 2']

我需要检查arr1 中是否存在arr2

您可以将Array#someArray#every一起使用。

let arr1 = [
['item 1', 'item 2'],
['item 3', 'item 4']
]
let arr2 = ['item 1', 'item 2']
let res = arr1.some(x => x.length === arr2.length && x.every((e, i) => e === arr2[i]));
console.log(res);

为了简单起见,您可以使用下面的every和some的组合,如果存在则返回true,如果不存在则返回false

arr1.some(i => i.length === arr2.length && i.every(it => arr2.includes(it)))

如果你想要一种非常快速简单的检查方法,你可以这样做:

arr1.findIndex(arr => { return JSON.stringify(arr) === JSON.stringify(arr2) })

它将返回arr1中arr2的位置,如果arr1 中不存在,则返回"-1">

最新更新