在javascript中搜索精确匹配的多维坐标数组
Searching a multi-dimensional array of coordinates for an exact match in javascript
我有一个坐标点数组,我使用它来运行动画,并希望获得图像的当前位置,并确定该位置的数组的索引。
var pointArray = [{x:70, y:500},
{x:120, y:500},
{x:150, y:500},
{x:178, y:488},
{x:193, y:465},
{x:205, y:440},
{x:228, y:418},
{x:255, y:408},
{x:286, y:405},
{x:317, y:410},
{x:345, y:422},
{x:372, y:438}];
pointArray[indexOf(player1.x)]
或pointArray[indexOf("{x:70, y:500}")]
都返回-1,这是未找到搜索词时的默认值。搜索多维数组的正确语法是什么?
注意:上面的点数组是一个精简版本,但在完整版本中坐标确实有重复的x或y值,所以我需要做的不仅仅是搜索2个坐标值中的1个。
您将不得不进行自定义搜索,因为您的新对象(indexOf()
的参数)与数组中的对象不同(当然,除非您有对您试图搜索的对象的引用)。
一个简单的方法是…
var match = {x:70, y:500};
for (var i = 0; i < pointArray.length; i++) {
if (match.x == pointArray[i].x && match.y == pointArray[i].y) {
break;
}
}
现在,i
将是发现结果的索引。
相关文章:
- 如何创建一个谷歌地图地理坐标数组
- 断言错误:断言失败:坐标数组的长度应与步幅匹配
- Javascript 地理位置:将坐标存储在数组中
- 将地理位置坐标放入数组中
- 检查鼠标光标是否在带坐标的数组范围内
- 如何在谷歌地图API中使用坐标数组绘制多边形
- 每个表的2D数组获取坐标JTSL,JAVASCRIPT
- 根据折线坐标数组创建高程剖面图
- 使用地理编码返回陆基坐标数组时出现问题
- Javascript - 字符串到坐标数组
- 将图像像素数据转换为坐标数组
- 从xml创建多边形坐标数组
- 如何循环遍历坐标数组
- 在javascript中搜索精确匹配的多维坐标数组
- 如何获得坐标数组的最大/最小边界
- 使用Javascript有效地从坐标数组中获得距离最短的一对坐标
- 在Google Maps API V3中使用LatLng坐标数组绘制折线
- 如何循环遍历坐标数组来为layerGroup创建地图标记
- 在坐标数组上循环并计算距离javascript
- 在JavaScript中创建坐标数组