Vue может повторять объекты так же, как и массивы, если вы настаиваете на именованных значениях, почему бы не сделать это:
cells: {
0: {},
1: {},
2: {}
}
Если вы получили нежелательные «данные» в своем массиве, вы можете сказать следующее.
const filteredCells = row.cells.filter(cell => cell !== undefined)
, а затем итерация FilterCells вместо этого, id делает FilterCells вычисленным значением.
v-for="cell in filteredCells"
Индекс ведения:
export default {
data() {
return {
row: {
cells: [
{name: 'peter'},
{name: 'louise'},
{name: 'hans'},
undefined,
{name: 'mia'},
{name: 'john'}
]
}
}
},
computed: {
filteredCellsWithIndex() {
if (!this.row || !this.row.cells) {
return
}
const { cells } = this.row
return cells.map((cell, index) => {
if (cell === undefined) {
return
}
cell.yourIndex = index
return cell
}).filter(cell => cell !== undefined)
}
}
}