【发布时间】:2013-09-24 20:36:25
【问题描述】:
我在 javascript 中创建了一个包含对象的数组。 这就是我得到的:
object[
{position:1, value:23},
{position:34, value:22 },
{position:2, value:10},
{position:35,value:9}.....
]
所以我想创建一个 for 循环,删除那些目标对象 (例如destination =(object1.position - object2.position) *-1) 低于18 到以前的对象。
例如:object[2].position 与 object[0].position 相差 1 个位置,因此不再需要 object[2]。 object[3] 也一样 ... 35 - 34 = 1 / 1
这就是我写的:
myfullarray = [
{pos:1,value:23},
{pos:34,value:22},
{pos:2,value:10},
(...)
]
myarray = [];
myarray[0] = {
pos:myfullarray[0].pos,
value:myfullarray[0].value
}
for(i=1;i<myarray.length;i++){
for(d=i;d>0;d--){
mydest = myfullarray[i].pos-myfullarray[d].pos;
if(mydest<0){
mydest *= -1
}
if(mydest<18){
}else{
myarray[myarray.length + 1] = {
value:myfullarray[i].value,
pos:myfullarray[i].pos
};
}
}
}
有人可以帮我解决这个问题吗?
【问题讨论】:
-
真正的问题是什么?您的代码做了哪些您不希望它做的事情,或者您想弄清楚它遗漏了什么?
-
好吧,我的问题是我的代码没有工作......当我查看我的数组时,我得到了 1884 个对象......它应该在 3 或 15 左右
-
@canon 是的,那是因为我试图不删除数组中的对象,因为这可能会给 for 循环带来很多麻烦。如果您查看代码,您可能会看到我调用
code(myarraylength)
标签: javascript arrays object for-loop