>  기사  >  웹 프론트엔드  >  Reduce 메소드를 사용하여 jQuery에서 객체 배열을 어떻게 그룹화하고 합칠 수 있습니까?

Reduce 메소드를 사용하여 jQuery에서 객체 배열을 어떻게 그룹화하고 합칠 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-23 06:17:22225검색

How Can You Group and Sum an Array of Objects in jQuery Using the Reduce Method?

jQuery에서 객체 배열 그룹화 및 합산: 세부 가이드

객체 배열의 값을 그룹화하고 합산하는 것은 일반적인 작업입니다. 프로그래밍에서. jQuery에서는 Reduce() 메소드를 사용하여 이를 효율적으로 달성할 수 있습니다.

목표 이해

목표는 특정 속성을 기반으로 객체 배열을 그룹화하는 것입니다. , 이 경우 "Id" 속성입니다. 개체가 그룹화되면 각 그룹의 수량("qty")을 합산해야 합니다.

단계별 솔루션

  1. 초기화: 그룹화된 항목을 저장하기 위해 result라는 이름의 빈 배열을 만듭니다. object.
  2. 배열 전체를 반복합니다. 배열 전체를 반복하려면 축소() 메서드를 사용합니다. 이 메서드는 두 가지 함수를 매개 변수로 사용합니다.

    • 누산기 함수: 이전 반복의 결과를 누적합니다. 일반적으로 res 또는 acc로 표시됩니다.
    • 값 함수: 배열의 현재 요소를 처리합니다. 일반적으로 value 또는 currentValue로 표시됩니다.
  3. 그룹화: Reduce() 메서드 내에서 누산기 객체(res)에 현재 객체와 일치하는 속성이 있는지 확인하세요. "ID" 속성. 그렇지 않은 경우 현재 "Id"를 속성으로 사용하고 "qty" 속성을 0으로 초기화하여 개체를 초기화하고 이 개체를 결과 배열에 푸시합니다.
  4. 합계: 업데이트 현재 개체의 "qty"를 추가하여 현재 개체의 "Id"에 해당하는 누산기 개체의 "qty" 속성 value.
  5. 결과 반환: Reduce() 메서드는 최종 누산기 개체를 반환합니다. 이 개체는 개체의 그룹화되고 합산된 배열을 나타냅니다.

구현 예

다음 jQuery 코드 조각은 위에 설명된 단계를 보여줍니다.

var array = [
  { Id: "001", qty: 1 },
  { Id: "002", qty: 2 },
  { Id: "001", qty: 2 },
  { Id: "003", qty: 4 }
];

var result = [];
array.reduce(function(res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id])
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});

console.log(result);

이 코드는 다음과 같이 그룹화되고 합산된 배열을 출력합니다. 개체:

[
  { Id: "001", qty: 3 },
  { Id: "002", qty: 2 },
  { Id: "003", qty: 4 }
]

위 내용은 Reduce 메소드를 사용하여 jQuery에서 객체 배열을 어떻게 그룹화하고 합칠 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.