JavaScript의 객체 배열 합계

Shivam Arora 2023년10월12일
  1. reduce함수를 사용하여 JavaScript에서 객체 배열의 값 합계
  2. map()reduce()함수를 사용하여 JavaScript에서 객체 배열의 값 합계
JavaScript의 객체 배열 합계

배열은 유사한 유형의 요소를 저장할 수 있으며 여기에는 객체도 포함됩니다.

이 기사에서는 JavaScript에서 객체 배열의 값을 합산하는 더 좋고 효율적인 방법을 배웁니다.

예제에서는 다음 배열의 모든 개체에 대한Amount를 합산합니다.

fruits = [
  {description: 'orange', Amount: 50},
  {description: 'orange', Amount: 50},
  {description: 'apple', Amount: 75},
  {description: 'kiwi', Amount: 35},
  {description: 'watermelon', Amount: 25},
];

reduce함수를 사용하여 JavaScript에서 객체 배열의 값 합계

sum()이라는 함수를 만들고reduce()메서드를 사용하여 배열을 단일 값으로 줄일 수 있습니다. 이는 배열의 모든 값의 합계입니다.

이 방법은 단일 패스에서 값을 동시에 필터링하고 매핑하는 데 도움이됩니다.

다음 코드에서이를 구현합니다.

class fruitCollection extends Array {
  sum(key) {
    return this.reduce((a, b) => a + (b[key] || 0), 0);
  }
}
const fruit = new fruitCollection(
    ...[{description: 'orange', Amount: 50},
        {description: 'orange', Amount: 50},
        {description: 'apple', Amount: 75},
        {description: 'kiwi', Amount: 35},
        {description: 'watermelon', Amount: 25},
]);

console.log(fruit.sum('Amount'));

출력:

235

map()reduce()함수를 사용하여 JavaScript에서 객체 배열의 값 합계

map()함수는 배열에있는 모든 요소의 값을 각각 변경하여 새 배열을 만듭니다. 그런 다음 필터 기능을 사용하여 해당 범주에 속하지 않는 값을 제거합니다. 마지막으로reduce()함수는 모든 값을 가져 와서 필요한 합계 인 단일 값을 반환합니다.

예를 들면

fruits = [
  {description: 'orange', Amount: 50},
  {description: 'orange', Amount: 50},
  {description: 'apple', Amount: 75},
  {description: 'kiwi', Amount: 35},
  {description: 'watermelon', Amount: 25},
];
const sumall =
    fruits.map(item => item.amount).reduce((prev, curr) => prev + curr, 0);
console.log(sumall);

출력:

235

관련 문장 - JavaScript Object