巢狀陣列中的 JavaScript array.includes 返回 false,但所搜尋的名字在陣列中


眾所周知,當我們使用 includes() 在巢狀陣列(即,多維陣列)中時,它是無效的,有一個 Array.prototype.flat() 函式可以扁平化陣列,然後對其進行搜尋,但它的瀏覽器支援還不夠好。

因此我們的工作是建立一個 includesMultiDimension() 函式,它接受一個數組和一個字串,並基於陣列中是否存在字串來返回一個布林值。

對這個問題有很多解決方案,其中大部分包括遞迴、大量陣列函式、迴圈等等。

我們將在本文中討論的最簡單的方法是如何檢查巢狀陣列中是否存在字串。

程式碼為 −

示例

const names = ['Ram', 'Shyam', 'Laxman', [
   'Jay', 'Jessica', [
      'Vikram'
   ]
]];
const includesMultiDimension = (arr, str) =>
JSON.stringify(arr).includes(str);
console.log(includesMultiDimension(names, 'Vikram'));

這一行解決方案包括將陣列轉換為 JSON 字串,以便我們可以簡單地對其應用包括。

輸出

控制檯輸出為 −

True

更新時間:2020 年 8 月 18 日

1K+ 瀏覽次數

職業生涯由此開始

完成課程並獲得認證

開始
廣告
© . All rights reserved.