如何检查二维数组是否包含字符串?

Dar*_*der 6 javascript arrays multidimensional-array dynamic-arrays

我有一个二维数组arr[cols][rows]。我想知道 cols 是否包含字符串“hello”。我如何检查使用.includes("hello")方法。

请注意,我正在尝试在带有 counter 的循环中检查它i。所以我必须做类似的事情arr[i][0].includes("hello");

Fal*_*aly 13

您可以array.prototype.somearray.prototype.includes. 应该是:

var datas= [
  ["aaa", "bbb"],
  ["ddd", "eee"]
];

function exists(arr, search) {
    return arr.some(row => row.includes(search));
}

console.log(exists(datas, 'ddd'));
console.log(exists(datas, 'xxx'));
Run Code Online (Sandbox Code Playgroud)

  • 正如 MDN 上所述(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some),“some()”方法测试是否至少有一个元素位于数组通过了所提供函数实现的测试。这意味着如果每一行都通过了测试,则数组将通过测试(返回 true),这就是 row.includes(search) 的作用,如果该行包含搜索查询,则返回 true。希望这可以帮助。 (3认同)