检查数组数组是否包含 javascript 中的值

Check if an array of arrays contains a value in javascript

我知道如果有值数组,则必须使用这种方法:

console.log(['joe', 'jane', 'mary'].includes('jane')); // true

但是如果是数组数组,有没有捷径呢?之间没有其他计算。

对于此输入:

[['jane'],['joe'],['mary']]

您可以使用 flat 方法来展平数组。对于更多嵌套数组,您还可以提及深度,如 flat(depth)

let arr = [["jane"],["joe"],["mary"]];

arr.flat().includes('jane'); //true

您可以使用 some

轻松实现此结果
arr.some((a) => a.includes("jane"))

const arr = [
  ["jane"],
  ["joe"],
  ["mary"]
];
const arr2 = [
  ["joe"],
  ["mary"]
];

console.log(arr.some((a) => a.includes("jane")));
console.log(arr2.some((a) => a.includes("jane")));

也可以通过先将二维数组展平为一维数组,然后使用 include 查找数组是否包含该元素来完成

var arr = [['jane'],['joe'],['marry']]
var newarr=[].concat(...arr)
var v=newarr.includes('jane')
console.log(v)