【发布时间】:2019-02-09 09:12:39
【问题描述】:
我正在努力检查数组中的数组。 include() 方法似乎不是为它设计的,因为在这种情况下它总是返回 false。下面是与indexOf 相同的场景示例。也许我需要的只是语法帮助,欢迎任何想法。
arr = [1,[9,9],3,4,5];
if (arr.indexOf(el) !== -1) {
console.log(`the array contains ${el}`);
} else {
console.log(`doesn't contain ${el}`);
}
当然,上面的返回 true 代表 1、3、4、5 和 false 代表 2。现在问题来了。我正在尝试使用[9,9] 之类的数组来提供此方法,以查看是否已经存在。
let el = [9,9];
// console: "doesn't contain 9,9"
另一方面,下面是可以的,这让我认为这只是一个语法问题(?)
let el = arr[1];
// console: "the array contains 9,9"
我通过编写带有for 循环的检查器函数找到了一种解决方法,但是随着您添加要求,这很快变得庞大。我很想知道一种更聪明的方法。
谢谢。
【问题讨论】:
-
我已经更新了我的答案以添加一个不使用 JSON.stringify() 的简洁实现,以使其更完整。
标签: javascript arrays