"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript의 개체 배열에서 속성을 효율적으로 제거하려면 어떻게 해야 합니까?

JavaScript의 개체 배열에서 속성을 효율적으로 제거하려면 어떻게 해야 합니까?

2024년 11월 16일에 게시됨
검색:383

How can I efficiently remove properties from an array of objects in JavaScript?

객체 배열에서 속성을 효율적으로 제거

여러 객체가 포함된 배열을 처리할 때 각 객체에서 특정 속성을 제거해야 합니다. . for 루프를 사용하는 간단한 접근 방식으로 충분할 수 있지만 ES6 기능과 프로토타입 조작을 활용하는 대체 방법을 탐색하면 보다 효율적인 구현으로 이어질 수 있습니다.

ES6 객체 해체

One 이러한 기술은 ES6에서 도입된 객체 구조 분해입니다. 이를 통해 객체에서 특정 속성을 추출하고 새 변수에 추가로 할당할 수 있습니다. 원치 않는 속성을 제거하는 경우 이 접근 방식이 특히 유용합니다.

다음 예를 고려하세요.

const array = [
  { bad: "something", good: "something" },
  { bad: "something", good: "something" }
];

각 객체에서 "잘못된" 속성을 제거하려면 ES6 구조 분해를 사용하여 다음 코드를 활용할 수 있습니다.

const newArray = array.map(({ dropAttr1, dropAttr2, ...keepAttrs }) => keepAttrs);

여기서 code:

  • 맵 메소드는 원본 배열의 각 객체를 반복하는 데 사용됩니다.
  • 콜백 함수 내에서 객체 구조 분해는 줄임표 구문(...)을 사용하여 수행됩니다. 새 개체(keepAttrs)에 유지되어야 하는 모든 속성을 캡처합니다.
  • dropAttr1 및 dropAttr2 변수는 다른 개체에 대한 자리 표시자 역할을 합니다. 제외하려는 속성입니다.

ES6 객체 분해의 장점

  • 성능: 객체 분해는 매우 효율적입니다. for 루프를 사용하는 오버헤드를 피하고 필요한 항목에 값을 직접 할당합니다. 변수.
  • 간결성: 루프 기반 접근 방식에 비해 코드가 훨씬 짧고 깔끔하여 가독성과 유지 관리성이 향상됩니다.
  • 확장성: 앞으로 배열의 객체에 새로운 속성이 추가되면 코드는 해당 속성을 구조 분해 프로세스에서 자동으로 제외하여 적절한 기능을 보장합니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3