d 是一个类似Map的对象,我需要根据他的每一个key 去获取对应的value保存到data数组里面,并且不改变原来key的顺序。
var d = {"100003":{"isClosed":0,"time":1,"wordId":10003},"100000":{"isClosed":1,"time":1,"wordId":100000},"100005":{"isClosed":0,"time":1,"wordId":100005},"100004":{"isClosed":1,"time":1,"wordId":100004},"100007":{"isClosed":0,"time":1,"wordId":100007},"100008":{"isClosed":0,"time":1,"wordId":100008},"100002":{"isClosed":0,"time":1,"wordId":100002}} ;
var data = [];
data 里面是 这样的解构 data = [
{
100003: {
"isClosed":0,
"time":1,
"wordId":10003
}
},
{
100000: {
"isClosed":0,
"time":1,
"wordId":10000
}
}
]
如果 key 的原始顺序没有规律,基本是没有可能了。如果有保持顺序的需求,那就不应该存储为一个 Map 对象而应该是一个 Array 对象。
放弃吧,键的排序在不同浏览器下都不一样。所以放弃。
但,如果你的
d
是由后端返回的 JSON 的话,那么可以获得到字符串版本的。那么,可以用正则来解决。我就这么干的。