Массив объектов по методу Vue - PullRequest
1 голос
/ 17 апреля 2019

У меня есть объект типа "Sorteio" и внутри него вектор объектов типа "Resultado", в частности 6 Resultados.Я создаю их экземпляры следующим образом:

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 сразу или мне нужно продолжать вызывать индекс по индексу?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Добро пожаловать на SO,

попробуйте это:)

  let resultados = 
    [
      {
        valor: 1,
        animal: "dog"
      },
      {
        valor: 2,
        animal: "cat"
      },
      {
        valor: 3,
        animal: "bird"
      },
     ]
     
     let data = {loteria: "somedata",
    resultados: []

}
     let i = 0
     resultados.forEach(function(element) {
     data.resultados.push(resultados[i])
     i++
    });

    console.log(data)
0 голосов
/ 17 апреля 2019

Вы можете использовать #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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...