簡體   English   中英

如何檢查另一個數組中的數組是否包含 x?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM