На данный вопрос уже ответили:
Нужно найти все повторяющиеся products.id
и объединить quantity
.
Должно получиться вот так:
products = [{id: 5, quantity: 25}, {id: 3, quantity: 15}, {id: 4, quantity: 164}]
const arr = [{
id: 1,
products: [{
id: 5,
quantity: 5
}, {
id: 3,
quantity: 2
}]
},
{
id: 2,
products: [{
id: 4,
quantity: 75
}, {
id: 5,
quantity: 20
}]
},
{
id: 3,
products: [{
id: 3,
quantity: 13
}, {
id: 4,
quantity: 89
}]
},
]
let allProducts = [];
let products = [];
function getAllProducts() {
arr.forEach(value => {
value.products.forEach(product => allProducts.push(product))
})
concatProducts(allProducts)
}
function concatProducts(arr) {
arr.reduce(function(a, b) {
return a.id === b.id ? products.push({
id: a.id,
quantity: a.quantity + b.quantity
}) : products.push(b);
});
console.log(products)
}
getAllProducts()
const arr = [
{
id: 1,
products: [
{id: 5, quantity: 5},
{id: 3, quantity: 2}
]
}, {
id: 2,
products: [
{id: 4, quantity: 75},
{id: 5, quantity: 20}
]
}, {
id: 3,
products: [
{id: 3, quantity: 13},
{id: 4, quantity: 89}
]
}
];
function getAllProducts(arr) {
const allProducts = {};
arr.forEach(value => {
value.products.forEach(prod => {
if (allProducts[prod.id] === undefined)
allProducts[prod.id] = prod.quantity;
else
allProducts[prod.id] += prod.quantity;
});
})
const products = [];
for (let id in allProducts) {
products.push({id: id, quantity: allProducts[id]});
}
return products;
}
console.log(getAllProducts(arr));
const arr = [{
id: 1,
products: [
{ id: 5, quantity: 5 },
{ id: 3, quantity: 2 }
]
},
{
id: 2,
products: [
{ id: 4, quantity: 75 },
{ id: 5, quantity: 20 }
]
},
{
id: 3,
products: [
{ id: 3, quantity: 13 },
{ id: 4, quantity: 89 }
]
},
]
var res = arr.reduce((res, item) => {
item.products.reduce((res, item) => {
if (!res[item.id])
res[item.id] = 0;
res[item.id] += item.quantity;
return res;
}, res);
return res;
}, {});
var result = [];
for (var key in res)
result.push({ id: +key, quantity: res[key]});
console.log(result);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть store со значениями, где хранятся типы данных и их обозначения с id и тд
Подскажите пожалуйста, есть код в котором по нажатию на span изменяется на input
Мне нужно сделать кнопку C, при нажатии на которую очищаются 4 параграфа с id = out, out1, out2, out3
Всем приветПодскажите пожалуйста как можно реализовать добавление новых элементов option в select