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
Если, конечно, этот объект не является «экземпляром массива». – PHPglue
@PHPglue, даже тогда заказ действительно гарантируется только кодом, который выполняет итерации в числовом порядке. – Pointy