技術的には、負のインデックスを持つことはできないため、「A」は配列にまったくありません。これは単に arrName オブジェクトのメンバーです。arrName.length を確認すると、それが 21 (0,1,2,...,20) であることがわかります。代わりにプレーン オブジェクトを (ハッシュ テーブルとして) 使用しないでください。このようなものが動作するはずです:
<script type="text/javascript">
//define and initialize your object/hastable
var obj = {};
obj[20] = 'C';
obj[10] = 'B';
obj[-10] = 'A';
// get the indexes and sort them
var indexes = [];
for(var i in obj){
indexes.push(i);
}
indexes.sort(function(a,b){
return a-b;
});
// write the values to the page in index order (increasing)
for(var i=0,l=indexes.length; i<l; i++){
document.write(obj[indexes[i]] + ' ');
}
// Should print out as "A B C" to the page
</script>