嵌套数组中的 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+ 浏览次数

职业生涯由此开始

完成课程并获得认证

开始
广告