[英]How to sort json Object in typescript
I want to sort a json object in my angular application.我想在我的角度应用程序中对一个 json 对象进行排序。
this json object looks like this:这个 json 对象看起来像这样:
{"9 - ABCDEF":{"isSucceeded":true},
"18 - Remote Software Update":{"isSucceeded":true,},
"4 - n.a."{"isSucceeded":true,}}
I just sort this json object like this:我只是像这样对这个 json 对象进行排序:
{"4 - ABCDEF":{"isSucceeded":true},
"9 - Remote Software Update":{"isSucceeded":true,},
"18 - n.a."{"isSucceeded":true,}}
Does anybody know some solutions?有人知道一些解决方案吗? I have heard with underscore.js Can anybody give me some examples?
我听说过 underscore.js 谁能给我一些例子吗?
Try something like that:尝试这样的事情:
Using forEach
:使用
forEach
:
const object = { "18 - na": {"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);
using the reduce
function:使用
reduce
功能:
const object = { "18 - na": {"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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.