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]
}))