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字符串,以便我们可以简单地将include应用于它。

输出结果

控制台输出将是-

True
猜你喜欢