我想在 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/