#javascript #arrays #object #vue.js
#javascript #массивы #объект #vue.js
Вопрос:
У меня есть объект типа «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 сразу или мне нужно продолжать вызывать индекс по индексу?
Комментарии:
1. попробуйте выполнить цикл по этому массиву
Ответ №1:
Вы можете использовать #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)
Комментарии:
1. Спасибо! Это ответ, который я искал.