> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 배열에서 개체를 효율적으로 제거하는 방법은 무엇입니까?

JavaScript 배열에서 개체를 효율적으로 제거하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-23 10:32:10
원래의
933명이 탐색했습니다.

How to Efficiently Remove Objects from JavaScript Arrays?

JavaScript 배열에서 개체 제거

배열에서 개체를 제거하는 것은 JavaScript의 일반적인 작업입니다. 이를 수행하는 방법에는 여러 가지가 있으며 각각 고유한 장점과 단점이 있습니다.

비변형 방법

  • Array.filter(): 지정된 테스트를 통과한 요소만 포함하는 새 배열을 만듭니다. 예:
let someArray = [{name: "Kristian", lines: "2,5,10"},
                 {name: "John", lines: "1,19,26,96"}];

let noJohn = someArray.filter(el => el.name !== "John");
로그인 후 복사
  • Array.find(): 일치하는 첫 번째 요소를 반환하거나, 일치하는 항목이 없으면 정의되지 않은 요소를 반환합니다. 제거하려는 특정 개체를 검색하려면 이를 사용합니다. 예:
const kristian = someArray.find(el => el.name === "Kristian");
로그인 후 복사

Mutating Methods

  • Array.splice(): 지정된 인덱스에서 시작하는 배열입니다. 예:
someArray.splice(someArray.findIndex(el => el.name === "John"), 1);
로그인 후 복사
  • Array.pop(): 배열에서 마지막 요소를 제거합니다.
  • Array.shift (): 첫 번째 요소를 제거합니다. array.
  • Array.length = newLength: 초과 요소를 잘라내어 배열의 길이를 다시 할당합니다.

최적의 방법 선택

배열에서 객체를 제거하는 가장 좋은 방법은 특정 항목에 따라 다릅니다. 요구 사항:

  • 변경되지 않는 메서드 새 배열을 만들고 원래 배열에 영향을 주지 않습니다. 이는 원본 배열을 그대로 유지하려는 경우에 이상적입니다.
  • 방법 변경은 원본 배열을 직접 변경합니다. 이는 더 효율적이지만 원치 않는 수정이 발생할 수 있습니다.

추가 참고 사항

  • Array.findIndex(): 사용 splice() 및 pop()에는 인덱스가 필요하므로 제거하려는 개체의 인덱스를 찾으려면 이렇게 합니다. 매개변수.
  • Array.filter(): 필터 함수에서 여러 기준을 지정하여 여러 요소를 한 번에 제거하는 데 사용할 수 있습니다.

다음 코드는 filter() 메서드를 사용하여 이름이 포함된 객체 없이 새 배열을 만듭니다. "크리스티안":

const someArray = [{name: "Kristian", lines: "2,5,10"},
                 {name: "John", lines: "1,19,26,96"}];

const noKristian = someArray.filter(el => el.name !== "Kristian");

console.log(noKristian);
// Output: [{name: "John", lines: "1,19,26,96"}]
로그인 후 복사

위 내용은 JavaScript 배열에서 개체를 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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