比如a是的你的数组 然后根据a数组里面每个对象的id属性排序:
var a = []
a.sort(function (o, p) {
return o.id - p.id
})
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.lengthi <lengthi++) {
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])
})
是不是你页面中使用的编码不一样啊,你要不把每个页面的head中都加一句
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">
或者
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">