首页 > 解决方案 > 将一个值(值是一个对象)从一个对象复制到数组不起作用?

问题描述

我有这样的变量

    var rough = {
        JOHN : {
          date: "03-03-2021",
          name: "JOHN",
          Qty: 123,
          unit: "g"
        },
SEBASTIAN : {
          date: "03-03-2021",
          name: "SEBASTIAN",
          Qty: 456,
          unit: "g"
        }}

我想将其格式更改为

var lastyear = {
      data: [
        {
          date: "03-03-2021",
          name: "JOHN",
          Qty: 123,
          unit: "g"
        },{
          date: "03-03-2021",
          name: "SEBASTIAN",
          Qty: 456,
          unit: "g"
        }]

但我想复制值来改变格式。

标签: javascriptarraysobjectdeep-copy

解决方案


快速方法是使用Object.values( { data: Object.values(rough) })

var rough = {
  JOHN: {
    date: "03-03-2021",
    name: "JOHN",
    Qty: 123,
    unit: "g",
  },
  SEBASTIAN: {
    date: "03-03-2021",
    name: "SEBASTIAN",
    Qty: 456,
    unit: "g",
  },
};

lastyear = { data: Object.values(rough) };

console.log(lastyear)


推荐阅读