>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 고유한 속성을 기반으로 개체 배열을 병합하는 방법은 무엇입니까?

JavaScript의 고유한 속성을 기반으로 개체 배열을 병합하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 18:15:02912검색

How to Merge Arrays of Objects Based on a Unique Property in JavaScript?

JavaScript의 고유 항목을 기반으로 배열 결합

배열 병합은 JavaScript에서 일반적인 작업일 수 있으며, 특히 다음을 기반으로 데이터를 결합해야 하는 경우 더욱 그렇습니다. 특정 기준. 이 특정 인스턴스의 목표는 공유 lineNumber 속성을 기반으로 객체 배열을 결합하여 lineNumber 및 해당 cellWidth 값의 배열이 있는 객체 배열을 만드는 것입니다.

이를 달성하려면 다음을 수행하세요. 코드 조각을 사용할 수 있습니다:

var newCells = [];
for (var i = 0; i < totalCells.length; i++) {
    var lineNumber = totalCells[i].lineNumber;
    if (!newCells[lineNumber]) { // Add new object to result
        newCells[lineNumber] = {
            lineNumber: lineNumber,
            cellWidth: []
        };
    }
    // Add this cellWidth to object
    newcells[lineNumber].cellWidth.push(totalCells[i].cellWidth);
}

코드 분석:

  • 새로운 배열은 병합된 결과를 저장하기 위해 newCells로 초기화됩니다.
  • 코드 for 루프를 사용하여 totalCells 배열을 반복합니다.
  • totalCells의 각 객체에 대해 lineNumber가 추출됩니다.
  • if 문은 현재 lineNumber를 가진 객체가 이미 존재하는지 확인하는 데 사용됩니다. newCells. 존재하지 않는 경우 lineNumber 및 빈 cellWidth 배열이 있는 새 객체가 newCells에 추가됩니다.
  • 현재 totalCells 객체의 cellWidth 값이 newCells에 있는 일치하는 객체의 cellWidth 배열로 푸시됩니다.

다음 단계에 따라 코드는 totalCells 배열을 newCells로 결합합니다. 여기서 각 객체는 고유한 lineNumber와 해당 lineNumber에 해당하는 cellWidth 값의 배열을 갖습니다.

위 내용은 JavaScript의 고유한 속성을 기반으로 개체 배열을 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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