Sobes.tech
Junior — Middle

Kad reduce metode atgriež objektu, un kādos gadījumos tas to var darīt?

sobes.tech AI

Atbilde no AI

JavaScript reduce metode (ne Java, galbūt turima omenyje JavaScript) grąžina objektą tada, kai redukcijas procesā akumulators ir objekts. Tas notiek, ja sākotnējā akumulatora vērtība ir objekts, vai arī ja reducējošajā funkcijā tiek atgriezts objekts.

Piemēram, ja vēlaties savākt masīva elementus objektā ar atkārtojumu skaitu:

const arr = ['ābols', 'banāns', 'ābols', 'apelsīns'];
const result = arr.reduce((acc, item) => {
  acc[item] = (acc[item] || 0) + 1;
  return acc;
}, {});
console.log(result); // { 'ābols': 2, 'banāns': 1, 'apelsīns': 1 }

Šeit reduce atgriež objektu, jo akumulators ir objekts, un reducējošā funkcija to atjaunina katrā solī.

Tādējādi, reduce var atgriezt objektu, kad uzdevums ir datu apkopošana objektā, piemēram, grupēšana, skaitīšana, vārdnīku veidošana un tamlīdzīgi.