javascript - Vue 方法上的对象数组

标签 javascript arrays object vue.js

我有一个“Sorteio”类型的对象,里面有一个“Resultado”类型的对象向量,特别是 6 个 Resultado。我用这种方式实例化它们:

saveSorteio() {
      var data = {
        loteria: this.sorteio.loteria,
        resultados: [
          {
            valor: this.sorteio.resultados[0].valor,
            animal: this.sorteio.resultados[0].animal
          },
          {
            valor: this.sorteio.resultados[1].valor,
            animal: this.sorteio.resultados[1].animal
          },
          /* ... */
        ]
      };
}

是否有另一种方法可以一次实例化 6 或者我需要继续逐个索引调用?

最佳答案

您可以使用#array.map()创建一个提取这些属性的数组:

saveSorteio() {
    var data = {
      loteria: this.sorteio.loteria,
      resultados = this.sorteio.resultados.map(({valor, animal}) => ({valor, animal}))

        /* ... */

    };
}

例如:

sorteio = {
    resultados: [
        {valor: "v1", animal: 'a1', somethingelse:"else"},
        {valor: "v2", animal: 'a2', somethingelse:"else"},
        {valor: "v3", animal: 'a3', somethingelse:"else"}
    ]
}
let newArray = sorteio.resultados.map(({valor, animal}) => ({valor, animal}))
console.log(newArray)

关于javascript - Vue 方法上的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55733766/

相关文章:

javascript - for循环不返回结果

javascript - 如何循环 angular js 对象,并将对象添加到循环中

c++ - 在对象继承中构造对象后设置较晚的值

javascript - 从 JavaScript 数组中删除对象?

charts - protovis 是否仍在积极开发中?

c# - 将字节数组初始化为某个值,而不是默认的 null?

javascript - 为什么我不能将两个数组与 "includes"进行比较?

C# 获取 JSON 对象

javascript - 使用history.pushState()更新URL中的参数

javascript - 表单中的按钮导致它自动提交