将嵌套对象中的单值数组转换为单值 javascript

convert single value array within a nested object to a single value javascript

我有一个嵌套对象,我想在其中将单个值数组 group 转换为单个值:

real_data = [
  [
    {x: 1, group: [1]},
    {x: 9, group: [2]},
    {x: 3, group: [3]}
  ],
  [
    {x: 2, group: [1]},
    {x: 4, group: [2]},
    {x: 10, group: [3]}
  ],
  [
    {x: 1, group: [1]},
    {x: 5, group: [2]},
    {x: 12, group: [3]}
  ],
  [],
    [
    {x: 1, group: [1]},
    {x: 5, group: [2]},
    {x: 12, group: [3]}
  ]
]

我试过在这里使用 map 但由于数组的嵌套性质一直在努力。我也尝试过一些嵌套的 for 循环,并为此苦苦挣扎。期望的输出是:

desired_output = [
  [
    {x: 1, group: 1},
    {x: 9, group: 2},
    {x: 3, group: 3}
  ],
  [
    {x: 2, group: 1},
    {x: 4, group: 2},
    {x: 10, group: 3}
  ],
  [
    {x: 1, group: 1},
    {x: 5, group: 2},
    {x: 12, group: 3}
  ],
  [],
    [
    {x: 1, group: 1},
    {x: 5, group: 2},
    {x: 12, group: 3}
  ]
]

感谢任何帮助!!

根据所需的输出,您可以使用以下内容

real_data.map(o=>{
    return o.map(p=>{
        return {...p, group:parseInt(p.group.toString(),10)}
    })
})

很简单。

  1. 循环完成外部数组
  2. 循环内部数组
  3. 在内部数组中设置 group 的值
real_data = [
  [
    {x: 1, group: [1]},
    {x: 9, group: [2]},
    {x: 3, group: [3]}
  ],
  [
    {x: 2, group: [1]},
    {x: 4, group: [2]},
    {x: 10, group: [3]}
  ],
  [
    {x: 1, group: [1]},
    {x: 5, group: [2]},
    {x: 12, group: [3]}
  ],
  [],
    [
    {x: 1, group: [1]},
    {x: 5, group: [2]},
    {x: 12, group: [3]}
  ]
];

var desiredOutput = real_data.map( elements => {
    let newElements = elements.map(element => {
        element.group = element.group[0];
        return element;
    });
    return newElements;
})

不修改原输入也能得到想要的结果-

const input =
  [[{x:1,group:[1]},{x:9,group:[2]},{x:3,group:[3]}],[{x:2,group:[1]},{x:4,group:[2]},{x:10,group:[3]}],[{x:1,group:[1]},{x:5,group:[2]},{x:12,group:[3]}],[],[{x:1,group:[1]},{x:5,group:[2]},{x:12,group:[3]}]]

const output =
  input.map(x => x.map(({ group: [group], ...y }) => ({ ...y, group })))
  
console.log(output)

[
  [
    {x:1,group:1},
    {x:9,group:2},
    {x:3,group:3}
  ],
  [
    {x:2,group:1},
    {x:4,group:2},
    {x:10,group:3}
  ],
  [
    {x:1,group:1},
    {x:5,group:2},
    {x:12,group:3}
  ],
  [],
  [
    {x:1,group:1},
    {x:5,group:2},
    {x:12,group:3}
  ]
]