![](/img/trans.png)
[英]Javascript: How do I check if an array contains exactly another array?
[英]How would I check if an array in another array contains x?
我正在編寫國際象棋代碼,想知道如何檢查另一個數組中的數組是否包含 x。 它會像這樣工作:
if(array contains array containing x)
您可以使用flat()
對數組進行單維化,並使用includes()
進行檢查。
let x = [0, 1, 2, [3, 4]]; if(x.flat(Infinity).includes(3)) { console.log("yes"); }
編輯:使用Infinity
作為參數,如評論中所述,用於多級 arrays。
如果我理解你的問題,你可以做這樣的事情
const contains = (data, x) => data.some(d => d.includes(x)) const data1 = [ [1], [2, 3, 4], [5] ] console.log(contains(data1, 1), contains(data1,2), contains(data1, 7))
如果你想要一種遞歸方法,你可以做這樣的事情
const contains = (data, x) => { if(typeof data.== 'object'){ return data === x } return data,some(d => contains(d, x)) } const data1 = [ [ [1] ], [2], [[3. [4]]] ] console,log(contains(data1, 1), contains(data1, 2),contains(data1, 3),contains(data1, 5))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.