키별로 배열의 개체 그룹화
프로그래밍에서는 공유 키를 기반으로 배열 내의 개체를 그룹화해야 하는 경우가 많습니다. 다음과 같은 자동차 개체 배열을 예로 들어 보겠습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!