javascript - JavaScript 中的无序字典

标签 javascript dictionary

我想在 Javascript 中迭代无序字典的键。我什至不知道它是否存在。

目前我有以下代码:

var l = [5,3,2];
var unorderedDict = {};
for (var i=0; i<l.length; i++) {
    unorderedDict[l[i]] = 'foo';
}

我的字典将类似于: {2:'foo', 3:'foo', 5:'foo'} 或者就我而言,我想保留初始列表(例如:{5:'foo', 3:'foo', 2:'foo'})

我怎样才能实现这个目标?

最佳答案

您无法维护对象中的顺序。如果你想维持订单使用数组:

var l = [5, 3, 2];
var val = ['foo', 'bar', 'baz'];
var unorderedDict = [];
//                  ^^
for (var i = 0; i < l.length; i++) {
  unorderedDict[l[i]] = val[i];
}

// Iterate over array:
for (var i = 0; i < unorderedDict.length; i++) {
  if (unorderedDict[i]) {
    console.log(unorderedDict[i]);
  }
}

编辑

如果您希望顺序与l中所示的顺序相同:

// Iterate over array:
for (var i=0; i<l.length; i++) {
    console.log(unorderedDict[l[i]]);
}

关于javascript - JavaScript 中的无序字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30149450/

相关文章:

ios - 在单例类中追加数组并在另一个 Controller 中计数返回 0

python - 如何在numpy数组中应用带有数组作为值的字典

dictionary - 在 Golang 中添加映射键的安全方法

javascript - JQuery load(url) 最初不起作用,间隔后激活

javascript - 删除其他元素时更改元素的边框颜色

javascript - 原型(prototype)对象的正确架构

python - 遍历字典

python - 将列表列表缩减为字典,子列表大小作为键,出现次数作为值

javascript - Renderer2 在 angular7 中继承时不工作

JavaScript 将 DateTime :"2017:10:01 19:06:57"字符串转换为 ISO 日期字符串