gpt4 book ai didi

Javascript如何查找数组中对象的位置

转载 作者:行者123 更新时间:2023-12-02 16:48:49 25 4
gpt4 key购买 nike

这是我的第一个问题,如果我有什么问题,请原谅我。

我有一个组织为对象的坐标数组,我需要查找并删除某个对象。我一直试图通过数组中的特定 x 和 y 坐标来获取对象的位置。

这是我到达的地方:

door_array = [{x:3, y:4},{x: 12,y: 12}, {x: 15,y:15}];

function remove_door(dx,dy, array)
{
var obj = {x:dx,y:dy};
var a = door_array.indexOf(obj); //this part doesn't work
door_array.slice(a,1)

}

当我尝试调用该函数时,它似乎将数组读取为 [object,object,object],并返回 -1。

问题是,如何通过特定对象的坐标找到其位置,以便将其删除?

最佳答案

问题是 obj 是与列表中的对象不同的对象。您应该循环遍历列表中的对象,直到找到所需的对象。例如。

door_array = [{x:3, y:4},{x: 12,y: 12}, {x: 15,y:15}];

function remove_door(dx,dy, array)
{
var index = -1;
for(var i = 0; i < array.length; i++)
{
if(array[i].x == dx && array[i].y == dy)
{
index = i;
break;
}
}
if(index != -1)
{
array.slice(index,1);
}
return array;
}

完成操作后,您应该返回数组。像这样调用:

door_array = remove_door(x, y, door_array);

关于Javascript如何查找数组中对象的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871382/

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