gpt4 book ai didi

jquery - 使用 inArray() 检查坐标是否在 jQuery 数组中

转载 作者:行者123 更新时间:2023-12-01 04:16:20 24 4
gpt4 key购买 nike

我将一些点作为点映射到 Canvas 上,并且我希望将重复的点渲染为更大的点。

我需要检查坐标是否已经被映射过,所以我想将坐标存储在数组中。

这就是我所拥有的。我不确定 .inArray 行。如何检查坐标是否已在数组中?

$(function() {
var arr = [];
arr.push([0,1]);
arr.push([2,1]);
arr.push([3,1]);
arr.push([4,1]);
arr.push([5,1]);

if(jQuery.inArray("2,1",arr)) {
alert("not there");
}

});

HERE'S A SIMPLIFIED FIDDLE.

最佳答案

据我所知,inArray 仅测试简单值(即不是数组或对象)。您可以使用 filter 代替:Fiddle

 var arr = [];
arr.push([0,1]);
arr.push([2,1]);
arr.push([3,1]);
arr.push([4,1]);
arr.push([5,1]);

x=2;
y=1;
var filtered = $(arr).filter(function(){
thisX = this[0];
thisY= this[1];
return x==thisX && y==thisY;
});
if(filtered.length > 0){
alert("yes");
}
else {
alert("no");
}

要测试范围,请更改返回条件,如下所示:

return (x>thisX-0.5 && x<thisX+0.5) && (y>thisY-0.5 && y<thisY+0.5);

关于jquery - 使用 inArray() 检查坐标是否在 jQuery 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346754/

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