第1个回答 推荐于2018-04-13
ensleep 代码中的 localStorage 全部拼写成了 localStroage;当 key 不存在的时候会输出 undefined;整个代码最后输出一个 string,并不是 json object。
1
2
3
4
5
6
7
8
9
10
var json = {}, json_sorted = {}, keys = [];
for(var k in localStorage) {
/^(?:[1-9]|1[0-9]?|20)$/.test(k)
&& (keys.push(k), json["c" + k] = localStorage[k]);
}
// 到这里为止已经得到 json object
// 输出:Object {c4=56, c2=236, c1=23, c7=41}
// console.log(json);
// 下面按 key 排序, c1, c2, c3...
keys.sort(function(a, b) {return a - b;});
for(var k in keys) {
for(var i in json) {
i.replace(/c/, "") == keys[k] && (json_sorted[i] = json[i]);
}
}
// 输出:Object {c1=23, c2=236, c4=56, c7=41}
// console.log(json_sorted);本回答被提问者和网友采纳