我想我的排序陣列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--) –