gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:04:51 24 4
gpt4 key购买 nike

javascript includes函数可用于查找元素是否存在于数组中。举个例子:

var arr = ['hello', 2, 4, [1, 2]];

console.log( arr.includes('hello') );
console.log( arr.includes(2) );

console.log( arr.includes(3) );

console.log( arr.includes([1, 2]) );

路过 'hello'2函数返回 true ,因为两者都存在于数组 arr 中.
路过 3函数返回 false因为它不存在于数组中。
但是,为什么 arr.includes([1, 2])返回 false同样,即使这等于数组中的最后一个元素?如果这个方法不起作用,我怎么才能找到我的数组是否包含项目 [1, 2] ?

最佳答案

.includes()方法使用 sameValueZero equality确定一个元素是否存在于数组中的算法。
当比较的两个值不是数字时,sameValueZero算法使用 SameValueNonNumber算法。该算法由 8 个步骤组成,最后一步与您的代码相关,即在两个对象之间进行比较时。这一步是:

  1. Return true if x and y are the same Object value. Otherwise, return false.

因此,如果是对象, SameValueZero仅当两个对象相同时,算法才返回 true。
在您的代码中,由于数组 [1, 2]里面 arr数组与 [1, 2] 完全不同你传递给 .includes()方法, .includes()方法在 arr 内找不到数组结果返回 false .

关于javascript - 检查数组是否包含javascript中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64303074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com