var tagged={"tagged":[
{"positionX":11,"positionY":13},
{"positionX":12,"positionY":18},
{"positionX":10,"positionY":20}
]};
因此,我已這個目的,重新排列javascript對象 - 使用的.sort()不保持爲正被排序
我需要,使其最終看起來如下重建它在陣列上的鍵:
var tagged={"tagged":[
{"positionX":10,"positionY":20},
{"positionX":11,"positionY":13},
{"positionX":12,"positionY":18}
]};
按位置X排序ASC。
我曾嘗試:
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
var tagged={"tagged":[
{"positionX":11,"positionY":13},
{"positionX":12,"positionY":18},
{"positionX":10,"positionY":20}
]};
tagged=tagged.tagged;
var newtagged=new Array();
for (var i = 0; i < tagged.length; i++) {
newtagged[i]=tagged[i].positionX;
}
var sorted=newtagged.sort(function(a,b){return a-b});
$(sorted).each(function(k,v){
alert(v);
});
</script>
有確實是一個成功的排序,但關鍵是新的「排序」數組中的不正確。
所以我無法檢索原始對象的所有正確的值基於原來的讀鍵,我的意思是,沒有排序的原始密鑰我不知道屬於排序的「positionX」是什麼,這樣我無法檢索其標籤數組中的相應positionY。的.sort(函數(){});將新鍵分配給排序的數組。
'排序= tagged.tagged.slice()排序(功能(A,B){返回a.positionX-b.positionX});' – Bergi