我有以下对象数组:
var wordSpecsArr = [{a: 2, b: 2},{a: 1, b: 1, c: 1, d: 1},{b: 2, a: 2},{d: 2, a: 2},{a: 2, b: 2}]
,我想按键对每个对象进行排序,使其变为:
var wordSpecsArr = [{a: 2, b: 2},{a: 1, b: 1, c: 1, d: 1},{a: 2, b: 2},{a: 2, d: 2},{a: 2, b: 2}]
我尝试了以下代码:
//sort keys
wordSpecsArr.forEach((obj) => {
var ordered = {};
Object.keys(obj).sort().forEach((key) => {
ordered[key] = obj[key]
});
});
但是没有用。我真的很感谢您的帮助
答案 0 :(得分:0)
尝试一下。
var wordSpecsArr = [{a: 2, b: 2},{a: 1, b: 1, c: 1, d: 1},{b: 2, a: 2},{d: 2, a: 2},{a: 2, b: 2}]
var wordSpecsArr = [{a: 2, b: 2},{a: 1, b: 1, c: 1, d: 1},{a: 2, b: 2},{a: 2, d: 2},{a: 2, b: 2}]
//sort keys
let op =[];
wordSpecsArr.forEach((obj) => {
let ordered = {};
Object.keys(obj).sort().forEach((key) => {
ordered[key] = obj[key]
});
op.push(ordered)
});
console.log(op)