javascript - 如何在javascript Map中保持顺序?

标签 javascript arrays sorting

我的数据 map 如下

 var myData =  new Object();

 myData[10427] = "Description 10427";
 myData[10504] = "Description 10504";
 myData[10419] = "Description 10419";

但是现在当我迭代 myData 时,我在 Chrome 中没有得到相同的序列,而 IE 在 Firefox 中工作正常。它按 key 的升序迭代

for (var key in myData) {
  alert("key is"+key);
  }

我在警报中按升序排列输出为10419,10427,10504

如何确保按照与 map 中插入的数据相同的顺序进行迭代?

最佳答案

ES6 Maps 保留插入顺序。

set方法用于设置键值对

var myData = new Map();
myData.set(10427, "Description 10427");
myData.set(10504, "Description 10504");
myData.set(10419, "Description 10419");

使用

打印映射键和值
myData.forEach((value,key) => console.log(key, value));

这将打印插入顺序中的键和值

关于javascript - 如何在javascript Map中保持顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696473/

相关文章:

javascript - 为什么 addEventListener 不会在更改时触发?

javascript - 登录 Ember.js

ruby - 你能用 Ruby 优化这个降序排列的数组吗?

javascript - Asp net core——从模型到javascript

javascript - C3JS的访问值

c++ - Array[n] vs Array[10] - 使用变量初始化数组 vs 数值字面量

arrays - TableView 与所有习语

ios - 在 swift 中使用延迟调用数组项 - 获取 UIResponder 错误

javascript - 选择排序后查找排序数组中数字位置的代码不稳定?

python - 将两个系列合并为一个索引不匹配的系列