중첩 값을 기반으로 하는 배열로 객체 배열 필터링
프로그래밍에서는 특정 기준에 따라 배열을 필터링해야 하는 경우가 많습니다. 중첩된 배열이 있는 복잡한 객체 구조를 처리할 때 필터링 프로세스가 더욱 어려워질 수 있습니다. 이 질문은 개발자가 중첩된 개체의 값을 기반으로 개체 배열을 필터링해야 하는 문제를 탐구합니다.
원하는 변환은 특정 값을 충족하지 않는 하위 배열의 모든 요소를 필터링하는 것입니다. 입력 배열에는 "name" 속성이 있는 개체와 "subElements" 배열이 포함되어 있으며, 각 배열에는 "surname" 속성이 있는 개체가 포함되어 있습니다. 목표는 "성"이 1이 아닌 모든 하위 요소를 제거하는 것입니다.
처음에 개발자는 다음 필터링 논리를 시도했습니다.
let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));
이 접근 방식은 개체를 다음과 같이 식별했습니다. 하나 이상의 유효한 하위 요소가 있지만 유효하지 않은 하위 요소를 제거하지 못했습니다. 이 문제를 해결하기 위해 보다 포괄적인 필터링 메커니즘을 활용할 수 있습니다.
arrayOfElements.map((element) => { return {...element, subElements: element.subElements.filter((subElement) => subElement.surname === 1)} })
이 업데이트된 코드는 "map" 메서드를 사용하여 배열을 탐색합니다. 원본 개체를 보존하고 수정된 "subElements" 배열을 사용하여 새 개체를 만듭니다. "필터" 방법은 "성" 값 1을 충족하지 않는 하위 요소를 제거하는 데 사용됩니다.
이 필터링 기술을 통합함으로써 개발자는 유효하지 않은 하위 요소를 효과적으로 제거하고 원하는 변환을 달성할 수 있습니다. 객체 배열입니다.
위 내용은 특정 중첩 값을 기반으로 중첩 배열이 있는 개체 배열을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!