javascript关联数组顺序混乱,怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript关联数组顺序混乱,怎么办?相关的知识,希望对你有一定的参考价值。
javascript 是通过对象来实现的 map 功能,枚举其属性时是无序的。其实多数语言的 map 为了提高检索效率都是进行了一定的排序,都不是按插入元素的顺序来枚举的,除非专门实现的 SortedMap 之类。如果你需要查找,也需要顺序,数据少可以直接用数组
var dataList = [
key: \'01\',
value: \'01\'
,
key: \'02\',
value: \'02\'
,
key: \'10\',
value: \'10\'
,
key: \'11\',
value: \'11\'
,
key: \'21\',
value: \'21\'
]
// 通过遍历查找数据,如找 "11"
var v = (function(data, k)
for (var i = 0, length = data.length; i < length; i++)
if (data[i].key === k)
return data[i].value
)(dataList, "11")
如果数据比较多,可以使用 object + array 的办法,比如
全选复制放进笔记var data =
map:
\'01\': \'01\',
\'02\': \'02\',
\'10\': \'10\',
\'11\': \'11\',
\'21\': \'21\'
,
order: [
"01", "02", "10", "11", "21"
]
遍历数据可以这样
data.order.forEach(function(key)
console.log(key + " = " + data.map[key])
) 参考技术A javascript是通过对象来实现的map功能,枚举其属性时是无序的。其实多数语言的map为了提高检索效率都是进行了一定的排序,都不是按插入元素的顺序来枚举的,除非专门实现的SortedMap之类。
如果需要查找,也需要顺序,数据少可以直接用数组。
以上是关于javascript关联数组顺序混乱,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章