Javascript包含()在列表的列表不工作


var coords = [
[0,0],[5,0],[0,5],[5,5],[8,5],[8,0],[40,5],[5,54],[6,7],[40,0],[8,54]
]
console.log(coords.includes([0,0]))

这里的结果是假的,我不确定为什么。请帮助

Array.prototype.includes使用严格相等运算符比较值。数组是按引用而不是按值存储的。[] === []永远不会为真,除非您比较的是存储在您的数组中的相同数组。

一个解决这个问题的方法是使用Array.prototype.some

var coords = [
[0,0],[5,0],[0,5],[5,5],[8,5],[8,0],[40,5],[5,54],[6,7],[40,0],[8,54]
]
console.log(coords.some(coordinate => {
const [x, y] = coordinate
// This is the value you are comparing
const myCoords = [0, 0]
return x === myCoords[0] && y === myCoords[1]
}))

相关内容

  • 没有找到相关文章

最新更新