首页 > 解决方案 > 映射对象的对象以与数组序列匹配

问题描述

不确定是否有任何 lodash 或其他 util 方法来映射对象序列。我有这种情况,我必须手动重新排序一堆嵌套对象的顺序。

//unprocessed
       {
           "order": [
          "home",
          "work"
        ],
        "questions": {
          "US": {
            "work": "working",
            "home": "driving home"
          },
          "UK": {
            "work": "go to work",
            "home": "go to home"
          }
        }
    }

如何根据订单的价值映射问题对象的对象答案。处理后的输出应该是

{
    "questions": {
      "US": {
        "home": "driving home",
        "work": "working"
      },
      "UK": {
        "home": "go to home",
        "work": "go to work"
      }
    }
}

标签: javascriptecmascript-6

解决方案


我不明白您为什么要订购键值对。但我已经这样做了一次打印。请参阅下面的代码。

var data = { name:'stack',
             age:40, 
             grant:6000


};
console.log(Object.entries(data).sort(function(a, b) {<SORT LOGIC>}).reduce( (o,[k,v]) => (o[k]=v,o), {} ));

推荐阅读