function numObj(s){
var emptyObj = {};
s.forEach(function(num) {
emptyObj[num] = String.fromCharCode(num);
});
return emptyObj;
}
console.log(numObj([118,117,120]));
Ich schreibe diese Funktion, um das int in das entsprechende Zeichen im Alphabet zu konvertieren. Jedoch erwarte ich als Ausgabe {'118': 'v', '117': 'u', '120': 'x' }
, aber wenn ich den Code lief, erhalte ich: { '117': 'u', '118': 'v', '120': 'x' }
. Hat jemand eine Erklärung warum ändert die Funktion die Reihenfolge der Eingabe?Konvertieren von Zahlen in die entsprechenden Buchstaben
Es gibt keine garantierte Reihenfolge der Eigenschaften in einem Objekt. – Pointy
Es sei denn natürlich, dass das Objekt ein 'instanceof Array' ist. – PHPglue
@PHPglue auch dann, wenn die Reihenfolge wirklich nur von Code garantiert wird, der in numerischer Reihenfolge iteriert. – Pointy