У меня есть массив, и я пытаюсь умножить два значения qty
и packageQuantity
, создавая новый массив с набором результатов, равным ключу units
.
Проблема в том, что у меня есть сложный вложенный массив, и я не могу понять, как создать новый массив!
Я понял, как выполнить умножение, но не могу понятькак перенести значения в новый массив.
Я использую Vue, и хочу изменить значения, если это возможно, в реальном времени.
Как я могу сделать умножение, создавая новыймассив помещает результат в ключ единиц измерения?
Для пояснения, я хочу создать новый массив, в который добавляется новый результат, добавляя при этом и старые значения.См. Ниже.
Большое спасибо заранее!
Вот мой текущий массив:
data: () => ({
sites: [
{
sku: "10001",
values: [
{
variationName: { name: "Unpackaged", qty: 1 },
units: '',
packageQuantity: '2'
}
]
},
{
sku: "10002",
values: [
{
variationName: { name: "2 Pack", qty: 2 },
units: '',
packageQuantity: '3'
},
{
variationName: { name: "4 Pack", qty: 4 },
units: '',
packageQuantity: '1'
}
]
}
]
})
Вот что я хочу, чтобы мой вывод был:
sites: [
{
sku: "10001",
values: [
{
variationName: { name: "Unpackaged", qty: 1 },
units: '2', // 1 * 2
packageQuantity: '2'
}
]
},
{
sku: "10002",
values: [
{
variationName: { name: "2 Pack", qty: 2 },
units: '6', // 2 * 3
packageQuantity: '3'
},
{
variationName: { name: "4 Pack", qty: 4 },
units: '4', // 1 * 4
packageQuantity: '1'
}
]
}
]
Вот мой расчет:
sites.forEach(
(innerArray) => innerArray.values.forEach(
(item => console.log(item.variationName.qty * item.units))
)
)