【发布时间】:2018-08-03 17:12:21
【问题描述】:
我有一个循环遍历数组并将键值对设置到我的 Map 对象的函数。然后我调用另一个函数,将对象中的数字乘以 2。当我返回 Map 对象时,我注意到对象中的数字现在按数字顺序排列。根据API,它应该保留数组的原始顺序,但事实并非如此。我做错了什么?
var manArray = [5, 2, 7, 4];
function manipulation(arr) {
var myMap = new Map();
for(let i = 0; i < arr.length; i++) {
var key = arr[i].toString();
var value = double(arr[i]);
myMap[key] = value;
}
return myMap;
}
function double(num) {
return num * 2;
}
console.log(manipulation(manArray));
【问题讨论】:
-
您为什么希望对象按任何特定顺序排列?
-
不保证对象键顺序。这是事实。
标签: javascript loops javascript-objects