emi*_*lly 2 javascript arrays sorting
我有myData地图如下
var myData = new Object();
myData[10427] = "Description 10427";
myData[10504] = "Description 10504";
myData[10419] = "Description 10419";
Run Code Online (Sandbox Code Playgroud)
但现在当我迭代myData时,我在chrome中没有得到相同的sequnce,IE在Firefox中工作正常.它按密钥的升序迭代
for (var key in myData) {
alert("key is"+key);
}
Run Code Online (Sandbox Code Playgroud)
我在警报中按升序获得输出 10419,10427,10504
我如何确保以与插入地图中的数据相同的顺序迭代?
小智 11
ES6 Maps保留了插入顺序.
set方法用于设置键值对
var myData = new Map();
myData.set(10427, "Description 10427");
myData.set(10504, "Description 10504");
myData.set(10419, "Description 10419");
Run Code Online (Sandbox Code Playgroud)
使用打印地图键和值
myData.forEach((value,key) => console.log(key, value));
Run Code Online (Sandbox Code Playgroud)
这将按插入顺序打印键和值
对象在JS中是无序的.如果订单很重要,请使用数组.
var myData = [];
myData.push({ "number": 10427, description: "Description 10427" });
Run Code Online (Sandbox Code Playgroud)