这是一个众所周知的难题,当我们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