我想我的排序阵列locations
上的访问元素从短到用下面的代码最长的距离:Jquery-的关联方式索引阵列
for(var i=0; i<locations.length;i++)
{
var swapped = false;
for(var j=locations.length; j>i+1;j--)
{
if (locations[j]['distance'] < locations[j-1]['distance'])
{
var temp = locations[j-1];
locations[j-1]=locations[j];
locations[j]=temp;
swapped = true;
}
}
if(!swapped)
break;
}
当我试图运行的程序,我得到以下错误萤火虫:
locations[j] is undefined
我console.logged的位置排列,这就是它lloks像:
[Object { id="1", marker=U, more...}, Object { id="4", marker=U, more...}, Object { id="6", marker=U, more...}, Object { id="3", marker=U, more...}, Object { id="2", marker=U, more...}, Object { id="5", marker=U, more...}]
有没有一种方法来在数字上索引对象,同时保持对象的数据关联索引?
或者有没有办法访问第i + 1或ith-1元素,如果我有在foreach循环中使用this.distance?
写循环为(var j = locations.length-1; j> i; j--) –