为了账号安全,请及时绑定邮箱和手机立即绑定

JS .includes() 有多个数组值?

JS .includes() 有多个数组值?

郎朗坤 2023-03-18 17:23:32
我有一个数字数组 A = ['1', '34', '23', '55'],想要使用 .includes() 来查找 true 或 false。但是,我的测试值在数组中B = ['3', '1', '543', '33']我试过A.includes(B)但似乎不起作用。A.includes('1', '123')返回真。我怎样才能使用我的阵列 B 来做同样的事情?我想检查数组 A 是否至少具有数组 B 的值之一,然后返回 true。为遗漏这部分道歉!
查看完整描述

4 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

includes()这样不行。

arr.includes(valueToFind[, fromIndex])

哪里valueToFind是单个值,fromIndex是开始查找的索引。(在您的情况下,它似乎忽略了它,因为它是一个字符串;否则它会返回false。)

如果您想要查找数组 A 是否包含数组 B 的每个元素,则没有标准库函数可以做到这一点。您可以执行以下操作:

function containsAll(container, contained) {

  return contained.every(item => container.includes(item))

}


containsAll(A, B);


查看完整回答
反对 回复 2023-03-18
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

如果我理解正确的话,你正在寻找 do A.includes(B),但你的输入存储在数组中。在这种情况下,只需循环遍历值并调用includes()元素:


const A = ['1', '34', '23', '55'];

const B = ['3', '1', '543', '33'];


for (var i = 0; i < A.length; ++i)

  console.log(A[i].includes(B[i]));


查看完整回答
反对 回复 2023-03-18
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

如果你需要检查是否所有的值都在BA,你可以像下面那样做:

B.every(item => A.includes(item)) // true or false


查看完整回答
反对 回复 2023-03-18
?
呼如林

TA贡献1798条经验 获得超3个赞

如果我理解你是正确的,你想检查array B的所有元素是否都包含在array A中,就像这样使用每个


B.every((el) => A.includes(el))

let A = [1, 2, 3], B = [2, 3, 4]

let result = B.every((el) => A.includes(el))

console.log(result)


如果你想让第二个元素中的至少一个元素array出现在第一个元素中,你可以使用一些


B.some((el) => A.includes(el))

let A = [1, 2, 3], B = [2, 3, 4];

let result = B.some((el) => A.includes(el))

console.log(result)


查看完整回答
反对 回复 2023-03-18
  • 4 回答
  • 0 关注
  • 313 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信