Saya mengerti bahwa untuk menghitung array di Angular dengan rxjs saya menggunakan pengurangan, misalnya jika saya ingin menghitung : [{id: 1, items: [10, 20, 30]}]
saya menggunakan kode berikut:
const item = from([{id: 1, items: [10, 20, 30]}]);
item.pipe(
map(actions => actions.items),
mergeAll(),
reduce((acc, i) => acc + i, 0)
).subscribe(p => console.log('Print 60: ', p));
Pertanyaannya adalah Bagaimana cara membuat peredam dalam array berikut:
const items = [
{
id: 1,
boxing: [1, 2, 2]
},
{
id: 2,
boxing: [10, 10, 20]
}];
Hasil yang diharapkan:
[{
id: 1,
boxing: 5
},
{
id: 2,
boxing: 40
}]
Saya akan menghargai bantuan anda
0
lyonTypescript
4 Juni 2019, 05:35
1 menjawab
Salah satu pendekatan bisa ini.
from(items).pipe(
mergeMap((data) => from(data['boxing']).pipe(
reduce((acc, x) => acc + x),
map((val) => { data['boxing'] = val; return data })
)),
toArray()
).subscribe((val) => console.log(val));
1
emkay
4 Juni 2019, 03:27