var tagged={"tagged":[
{"positionX":11,"positionY":13},
{"positionX":12,"positionY":18},
{"positionX":10,"positionY":20}
]};
だから私はこのオブジェクトを持っています、
最終的に次のようになるように再構築する必要があります。
var tagged={"tagged":[
{"positionX":10,"positionY":20},
{"positionX":11,"positionY":13},
{"positionX":12,"positionY":18}
]};
positionX 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」が何に属しているのかわかりません。タグ付けされた配列内の対応する位置 Y を取得できません。.sort(関数(){}); ソートされた配列に新しいキーを割り当てます。