У меня есть три массива: цветные объекты, объекты размера, объекты sku. Они извлекаются из базы данных с помощью вызова API и сохраняются в данных Vue (). Затем я строю 2D-матрицу размеров и цветов с помощью sku, если она существует, используя карту, и нахожу операторы
this.sizes.map(
size=> this.colours.map(
colour=>(
this.skus.find(
sku=> sku.sku == this.style.name + colour.colour_code + size.code
) || {sku: this.style.name + colour.colour_code + size.code, selected:false}
)
)
)
Мне нужно присвоить результаты новому массиву (this.matrix), однако для пользовательского интерфейса мне также нужно дополнительное поле (selected: false), которого нет в объекте sku, которому не нужно жить в базе данных как это только для государственного контроля. Чтобы сделать это, я думаю, что мне нужно использовать Object.assign ({selected: false}, sku), но я не могу понять, куда бы я поместил его в приведенный выше код. Я должен сделать это, как назначено this.matrix, иначе Vue не будет генерировать геттеры и сеттеры
Каждая ссылка на ячейку в 2D-массиве будет иметь 0 или 1 skus в массиве sku. У каждого sku в массиве sku будет соответствующий слот в 2D-массиве.
Куда бы я положил Object.assign, или есть лучший способ?