{
"color_group_01": {
"blue_50": "#4080fb",
"blue_40": "#6fa1fc",
"blue_30": "#9dc2fd",
"blue_20": "#cadefe",
"blue_10": "#ebf4ff",
"blue_100": "#011338",
"blue_90": "#011d5f",
"blue_80": "#022b8f",
"blue_70": "#053fc4",
"blue_60": "#165cfa"
},
"color_group_02": {
"green_90": "#022d0d",
"green_80": "#044317",
"green_70": "#0e6027",
"green_100": "#071908",
"green_60": "#198038",
"green_50": "#24a148",
"green_40": "#42be65",
"green_30": "#6fdc8c",
"green_20": "#a7f0ba",
"green_10": "#defbe6"
}
}
我有一个如上所述生成的JSON文件。它有12个“ color_group_”对象。
我想做的是按键重新排序每个组中的属性,使其从10到100。并按顺序01-12保留“ color_group_”。结果如下:
{
"color_group_01": {
"blue_10": "#ebf4ff",
"blue_20": "#cadefe",
"blue_30": "#9dc2fd",
"blue_40": "#6fa1fc",
"blue_50": "#4080fb",
"blue_60": "#165cfa",
"blue_70": "#053fc4",
"blue_80": "#022b8f",
"blue_90": "#011d5f",
"blue_100": "#011338"
},
"color_group_02": {
"green_10": "#defbe6",
etc...
}
}
我正在努力做到这一点?可以帮忙吗?请没有jQuery解决方案:)
预先感谢
答案 0 :(得分:0)
首先,您需要使用JSON.parse()将JSON加载到javascript对象中。但是,您的对象并不真正知道其键的排序,而是可以提取对象的键并进行相应的排序
const keysArray = Object.keys(yourObject).sort((a, b) => /* your sort function here */);
然后,您可以遍历这个keysArray,这将对您所有的键进行排序并从那里访问对象
keysArray.forEach(key => console.log(yourObject[key]));