> 웹 프론트엔드 > JS 튜토리얼 > 공유 키를 기준으로 JavaScript 배열의 개체를 어떻게 그룹화할 수 있나요?

공유 키를 기준으로 JavaScript 배열의 개체를 어떻게 그룹화할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-26 16:40:10
원래의
649명이 탐색했습니다.

How Can I Group Objects in a JavaScript Array by a Shared Key?

키별로 배열의 개체 그룹화

프로그래밍에서는 공유 키를 기반으로 배열 내의 개체를 그룹화해야 하는 경우가 많습니다. 다음과 같은 자동차 개체 배열을 예로 들어 보겠습니다.

const cars = [
    {
        'make': 'audi',
        'model': 'r8',
        'year': '2012'
    },
    {
        'make': 'audi',
        'model': 'rs5',
        'year': '2013'
    },
    {
        'make': 'ford',
        'model': 'mustang',
        'year': '2012'
    },
    {
        'make': 'ford',
        'model': 'fusion',
        'year': '2015'
    },
    {
        'make': 'kia',
        'model': 'optima',
        'year': '2012'
    },
];
로그인 후 복사

목표는 자동차 개체가 제조업체별로 그룹화되는 새 배열을 만드는 것입니다. 바닐라 JavaScript를 사용하는 한 가지 접근 방식은 객체와 함께 Array#reduce 메서드를 사용하는 것입니다.

const result = cars.reduce((r, a) => {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
}, Object.create(null));

console.log(result);
로그인 후 복사

이 코드는 cars 배열을 반복하고 현재 make가 결과 객체에 키로 존재하는지 확인합니다. 그렇지 않은 경우 make를 키로 추가하고 빈 배열을 초기화합니다. 그런 다음 현재 자동차 개체를 해당 배열에 푸시하여 제조업체별로 개체를 효과적으로 그룹화합니다.

결과 결과 개체는 다음과 같이 구성됩니다.

{
    'audi': [
        {
            'model': 'r8',
            'year': '2012'
        },
        {
            'model': 'rs5',
            'year': '2013'
        },
    ],

    'ford': [
        {
            'model': 'mustang',
            'year': '2012'
        },
        {
            'model': 'fusion',
            'year': '2015'
        }
    ],

    'kia': [
        {
            'model': 'optima',
            'year': '2012'
        }
    ]
}
로그인 후 복사

위 내용은 공유 키를 기준으로 JavaScript 배열의 개체를 어떻게 그룹화할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿