【问题标题】:how to make array of objects with vue?如何用vue制作对象数组?
【发布时间】:2020-07-15 09:16:34
【问题描述】:

我有一个这样的数组array : [ 50, 140, 60, 160 ]

我有一个这样的对象

getcontract: {
  id: 1,
  supplier_a: "Supplier A"
}

我想做一个对象数组,所以会变成这样

array : [
{ id:1, supplier_a: "Supplier A", price: 50 },
{ id:1, supplier_a: "Supplier A", price: 140 },
{ id:1, supplier_a: "Supplier A", price: 60 },
{ id:1, supplier_a: "Supplier A", price: 160 }
]

怎么做?这是我的 jsfiddle https://jsfiddle.net/damakuro221/h6tvzrdf/15/

【问题讨论】:

  • 你尝试过什么,它到底有什么问题?请注意,您不是在向数组添加属性,而是在创建对象数组。
  • @jonrsharpe 抱歉,我有点困惑

标签: javascript vue.js


【解决方案1】:

您可以使用array.map() 将数组中的每个值映射到一个新对象。

在新对象中,我们使用...contract 复制合约,然后通过price: num 附加价格

const contract = {
  id: 1,
  supplier_a: "Supplier A"
};

const arr = [50, 140, 60, 160];

const result = arr.map((num) => {
  return {
    ...contract,
    price: num
  };
});

console.log(result);

【讨论】:

    【解决方案2】:

    一张地图就足够了

    const array = [50, 140, 60, 160];
    const getcontract = {
      id: 1,
      supplier_a: "Supplier A"
    }
    
    const result = array.map(price => ({ ...getcontract,
      price
    }));
    
    
    console.log(result);

    【讨论】:

      【解决方案3】:

      我觉得如果你更清楚..

      array.map(price => { return { 
                               _id: contract._id, 
                               supplier_a: contact.supplier_a, 
                               price: price 
                             } 
                          })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-02
        • 2021-02-08
        • 2014-02-20
        • 2019-02-25
        相关资源
        最近更新 更多