如何在JavaScript中保持hashmap的顺序
How to preserve order of hashmap in JavaScript?
Java有LinkedHashMap
,但在JavaScript中似乎没有类似的解决方案。
基本上,我希望能够说
var map = {};
map['a'] = 1;
map['b'] = 2;
当我遍历映射时,它们总是在[{a:1}, {b:2}…]]。
我相信JavaScript Map object可以帮助你解决这个问题:
let myObject = new Map();
myObject.set('z', 33);
myObject.set('1', 100);
myObject.set('b', 3);
for (let [key, value] of myObject) {
console.log(key, value);
}
// z 33
// 1 100
// b 3
另外,请考虑到这是ES6 (ES2015)标准。欢呼。
可以使用第二个数组来保存键的顺序。
var order = [];
//add something to map
map['a'] = 1;
order.push('a');
map['b'] = 2;
order.push('b');
//iterate in order
for (var i=0; i< order.length;++i) {
alert(map[order[i]);
}
保持顺序数组的一致性可能比较棘手,因为在修改原始映射时总是需要更新顺序数组。
相关文章:
- ajax请求的顺序总是不同的
- 按照选项卡索引的顺序循环一个jQuery选择
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 按顺序添加和删除类
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript-根据赋值顺序,按键合并对象数组
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- querySelector/getElementByClassName嵌套项的顺序
- 以不同的顺序输出数据
- 重新排列HTML元素的顺序并更改内容
- 在Javascript中列出顺序子集元素
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- Mongodb$in以与数组中相同的顺序获取结果
- 如何使用phonegap从安卓设备中提取联系人的字母顺序
- 在表单OnChange中交换数字顺序
- 如何按对象反转Angular ngRepeat的顺序's键,这些键是数字键
- 预保存钩子:mongoose中回调的顺序如何
- 为什么生成器中的console.log会按这样的顺序出现
- HashMap可以始终保持相同的顺序
- 如何在JavaScript中保持hashmap的顺序