在我的角度应用中的黑色和json对象的情况下。
这个json对象看起来像这样:
{"9 - ABCDEF":{"isSucceeded":true},
"18 - Remote Software Update":{"isSucceeded":true,},
"4 - n.a."{"isSucceeded":true,}}
我只是像这样对这个json对象进行排序:
{"4 - ABCDEF":{"isSucceeded":true},
"9 - Remote Software Update":{"isSucceeded":true,},
"18 - n.a."{"isSucceeded":true,}}
有人知道一些解决方案吗?我听说过underscore.js可以有人给我一些例子
最好的祝福,
狮子座
尝试类似的东西:
使用forEach
:
const object = {
"18 - n.a.": {"isSucceeded":true,},
"4 - ABCDEF": {"isSucceeded":true},
"9 - Remote Software Update": {"isSucceeded":true,},
};
const ordered = {};
const firstNumber = str => parseInt(str.split(' -')[0].trim());
Object.keys(object)
.sort((a, b) => firstNumber(a) > firstNumber(b) ? 1 : -1)
.forEach(function(key) {
ordered[key] = object[key];
});
console.log(ordered);
使用reduce
函数:
const object = {
"18 - n.a.": {"isSucceeded":true,},
"4 - ABCDEF": {"isSucceeded":true},
"9 - Remote Software Update": {"isSucceeded":true,},
};
const firstNumber = str => parseInt(str.split(' -')[0].trim());
const ordered = Object.keys(object)
.sort((a, b) => firstNumber(a) > firstNumber(b) ? 1 : -1)
.reduce((acc, key) => {
acc[key] = object[key];
return acc;
}, {});
console.log(ordered);