是否有可能在带有items的对象中更改父/子对象的顺序?

Is it possible to change the order of parents/childs in an object with items?

本文关键字:对象 顺序 items 有可能 是否      更新时间:2023-09-26

我有一个像这样的对象:

sum = {
  value:{ 
      a: 10,
      b: 11
  }
  value2:{ 
      a: 33,
      c: 12
  }
  ..
}

我的对象更复杂,字母实际上包含具有不同值的对象,但关键是,我希望循环遍历每个值中存在的所有字母并返回对象,如:

a:{
  value: 10,
  value2: 33
}

我可以循环遍历整个过程来创建一个新对象,但是有没有更有效的方法来"翻转对象的顺序"呢?

我只想使用所有值对象中存在的键,我目前这样得到它们,但这不是必需的。

value = ['value', 'value2']
tags.forEach( (tag) =>
    keys.push(Object.keys(sum[tag]))
)
matches = _.intersection.apply(_, keys);

matches.forEach( (match) => {
  ...
}

这个解决方案的特点是重新组织属性的顺序。

grouped[kk][k] = sum[k][kk] for all elements

var sum = {
        value: {
            a: 10,
            b: 11
        },
        value2: {
            a: 33,
            c: 12
        }
    },
    grouped = {};
Object.keys(sum).forEach(function (k) {
    Object.keys(sum[k]).forEach(function (kk) {
        grouped[kk] = grouped[kk] || {};
        grouped[kk][k] = sum[k][kk];
    });
});
document.write('<pre>' + JSON.stringify(grouped, 0, 4) + '</pre>');