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

标签 jquery arrays coordinates

我将一些点作为点映射到 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/

相关文章:

jquery - 使用 jQuery 和 OData(WCF 数据服务)更新/插入多行

jquery css 设置按钮点击可见性

arrays - 如何通过powershell将文本文件的每一行保存为数组

jQuery计算窗口yScroll位置

python - 在 Python 中获取彩色形状周围边界的坐标

javascript - 使用主干 View 在模板上动态添加 ID 和类

javascript - 根据 $_GET 显示/隐藏 Div

java - 如何将字符串数组转换为整数数组?

c++ - 在 C++ 中传递和返回二维数组

coordinates - 如何使用 Kinect 从不同的对象获取真实世界坐标 (x, y, z)