Dav*_*era 1 javascript json javascript-objects
我有一些像这样的JSON:
{
"a": { "text": "text", "index": 5 },
"b": { "text": "text", "index": 3 },
"c": { "text": "text", "index": 1 },
}
Run Code Online (Sandbox Code Playgroud)
现在我需要对这个对象进行交互并在第一级(a,b和c)的每个属性上调用一个函数,但我必须使用"index"属性按顺序执行,比如"c"首先,然后"b" "并且持续"a".
但是我读到我不应该使用for循环:
for ... in循环以任意顺序迭代对象的属性(有关为什么不能依赖于迭代的看似有序性的原因,请参阅delete运算符,至少在跨浏览器设置中).
那我怎么能这样做?
谢谢
你可以,
Object.keys().sort().forEach()通过排序项(其在所述阵列的升序执行)进行迭代.var items = {
"a": {
"text": "text",
"index": 5
},
"b": {
"text": "text",
"index": 3
},
"c": {
"text": "text",
"index": 1,
}
};
Object.keys(items).sort(function(a, b) {
return items[a].index - items[b].index;
}).forEach(doStuff);
function doStuff(key) {
console.log(items[key]);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |