首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果传递的项存在于arrayOfArrays内的所有数组中,则返回true

如果传递的项存在于arrayOfArrays内的所有数组中,则返回true
EN

Stack Overflow用户
提问于 2019-05-15 22:29:01
回答 2查看 199关注 0票数 0

我在检查项目是否存在于arrayOfArrays中的所有数组时遇到问题。

我正在尝试使用includes方法来解决这个问题,如下所示:

代码语言:javascript
复制
function isItemHere(arrayOfArrays, item) {
  return arrayOfArrays.includes(item);
}

然而,这是行不通的。

EN

回答 2

Stack Overflow用户

发布于 2019-05-15 22:31:35

对于单个一维数组,您编写的代码将会起作用。但是对于2D数组,您可以使用every()

代码语言:javascript
复制
arrayOfArrays.every(x => x.includes(item));
票数 3
EN

Stack Overflow用户

发布于 2019-05-15 22:34:49

仅使用includes是行不通的,因为myArray.includes(item)会检查itemmyArray中是否至少存在一次(而不是myArray的每个子级中)。如果您有一个数组数组,则需要对数组中的每一项运行includes

这可以使用与includes函数结合使用的every函数来完成,如下所示:

代码语言:javascript
复制
function isItemOmnipresent(arrayOfArrays, item) {
  // return true if the passed item is present in all the arrays inside arrayOfArrays
  return arrayOfArrays.every(childArray => childArray.includes(item));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56151788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档