function numObj(s){
var emptyObj = {};
s.forEach(function(num) {
emptyObj[num] = String.fromCharCode(num);
});
return emptyObj;
}
console.log(numObj([118,117,120]));
intを対応するアルファベットの文字に変換するためにこの関数を書いています。しかし、 出力としては{'118': 'v', '117': 'u', '120': 'x' }
と期待していますが、コードを実行したときには{ '117': 'u', '118': 'v', '120': 'x' }
となります。関数が入力の順序を変更する理由は誰にも説明がありますか?数字を対応する文字に変換する
オブジェクトのプロパティの一切保証順序はありません。 – Pointy
もちろん、そのObjectは 'instanceof Array'でなければなりません。 – PHPglue
@PHPglueでも、順序は実際には数値順に反復するコードによってのみ保証されます。 – Pointy