通过特定键重新排列JSON对象数组

问题描述 投票:0回答:1

我使用Nuxt.js(Vuejs 2)

这是我的数据:

nodes: {},
models: [
        { id: 1, name: "samsung", node: 1, price: 56 },
        { id: 1, name: "samsung", node: 2, price: 68 },
        { id: 2, name: "nokia", node: 2, price: 45 },
        { id: 2, name: "nokia", node: 3, price: 49 }
      ]

我希望nodes变量像这样:

nodes: {
        1: [
            { id: 1, name: "samsung", price: 56 }
        ],
        2: [
          { id: 1, name: "samsung", price: 68 },
          { id: 2, name: "nokia", price: 45 }
        ],
        3: [
            { id: 2, name: "nokia", price: 49 }
            ]
      }

实际上,我希望通过node键转换并分离模型数组。我怎样才能做到这一点? (首选ES6)

json vue.js ecmascript-6 nuxt
1个回答
0
投票

这可能会帮助您:

transformModels(models) {
  const transformedModels = {};

  models.forEach(model => {
    if(!transformedModels[model.node]) {
         transformedModels[model.node] = []; 
    }
    transformedModels[model.node].push(model);
  });

  return transformedModels;
}

nodes = transformModels(models);
© www.soinside.com 2019 - 2024. All rights reserved.