背景
我正在编写一些代码来检查2个数组是否相同,但是由于某种原因,当期望为false时,结果却为true。经过仔细检查,我发现了那些数组值未定义的地方被跳过了。
示例
const arr1 = [, , 3, 4]
const arr2 = [1, 2, 3, 4]
const result = arr1.every((item, index) => item === arr2[index])
console.log(result) // true (HOW????)
我尝试过的
所以我花了一些时间尝试正确地获取这里的值,但我唯一想到的是一个正常的for循环,它基于数组长度进行迭代而不是实际项目。
问题
为什么会出现这种情况,有没有办法识别我的数组中的这些空/未定义值?