>웹 프론트엔드 >JS 튜토리얼 >JavaScript 배열에서 특정 요소를 삭제하는 여러 방법 요약

JavaScript 배열에서 특정 요소를 삭제하는 여러 방법 요약

韦小宝
韦小宝원래의
2018-01-25 10:45:001120검색


js 배열에서 지정된 요소를 삭제하는 것은 우리 각자가 직면하는 문제입니다. 온라인에 많은 정보가 있지만 일부는 너무 오래되고 일부는 충분히 포괄적이지 않으므로 직접 정리하겠습니다. 기사 이 기사에서는 JavaScript 배열의 특정 요소를 삭제하는 다양한 방법을 주로 요약하고 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

머리말

어쩌면 배열의 특정 요소를 삭제할 때 이를 달성하는 방법이 여러 가지 있다고 추정할 수 있으므로 제가 요약한 방법을 살펴보겠습니다. 당신에게 도움이 됩니다! 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.

소스 배열

var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"];

의사 삭제

즉, 배열 요소 값을 null로 설정하는 것입니다.

arr[ arr.indexOf( 'Thomas' ) ] = null;

삭제된 배열은 다음과 같습니다. :

["George", "John", null, "James", "Adrew", "Martin"]

하지만 이는 배열 Array의 길이, 즉 변수 arr이 변경되지 않은 상태로 유지된다는 의미입니다.

완전히 삭제되었습니다

완전 삭제란 무엇인가요? 질문 Array 배열의 요소 값이 실제로 삭제되고 배열의 길이가 변경되는 것을 상상해 볼 수도 있습니다. 이 요구 사항은 내장 배열 개체 Array의 splice 메서드를 통해 달성할 수 있습니다. splice 메소드에 관해 이야기하자면,

Array.prototype.splice = function(start,deleteCount,items) {};

위는 내장 객체 Array의 splice 메소드에 대한 프로토타입 정의입니다. 중국어 의미는 다음과 같습니다: splicing.

  • start : 시작점

    indexvalue

  • deleteCount: 삭제할 요소 수

  • items: 삭제 후 대체/추가되는 요소

    매개변수가 추가되지 않은 경우 요소 삭제를 의미하며, deleteCount
    매개변수 값과 결합되어야 합니다. deleteCount가 1이고 items 매개변수 위치에 매개변수 값이 주어지면 교체를 의미합니다
    deleteCount가 1이고 items 매개변수 위치에 매개변수 값이 2개 이상 주어지면 요소를 교체하고 추가한다는 의미

splice 메소드 null


arr.splice( arr.indexOf( null ), 1 );

를 통해 위의 의사 삭제로 인해 남겨진 요소 값을 삭제합니다. 삭제된 배열은 다음과 같습니다:


["George", "John", "James", "Adrew", "Martin"]

이제 splice 메소드에 대해 언급했으니 요소 교체, 요소 추가 등과 같은 다른 기능에 대해 이야기해 보겠습니다!


spliceFunction - 요소 교체

이제 배열 구조는 다음과 같습니다.


["George", "John", "James", "Adrew", "Martin"]

배열 요소 James를 Tom으로 바꾸고 싶습니다


arr.splice( arr.indexOf( 'James' ), 1, 'Tom' );

교체된 배열 구조는 다음과 같습니다.


["George", "John", "Tom", "Adrew", "Martin"]

splice 함수 - 요소 교체 및 추가

이제 현재 배열 구조는 다음과 같습니다.


["George", "John", "Tom", "Adrew", "Martin"]

배열 요소 Tom을 Judy로 바꾸고 Linda와 Alisa를 추가하고 싶습니다


arr.splice( arr.indexOf( 'Tom' ), 1, 'Judy', 'Linda', 'Alisa' );

교체 후 추가 배열 구조는 다음과 같습니다.


["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

splice 함수 - 요소 추가

특정 요구 사항에 따라 요소 추가가 핵심입니다. 시작의 값 인덱스 위치입니다. 현재 배열 구조는 다음과 같습니다.


["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

예를 들어 Linda와 Alisa 사이에 Bill과 Blake


arr.splice( arr.indexOf( 'Linda' ) + 1, 0, 'Bill', 'Blake' );

를 추가하려는 경우 추가된 배열 구조는 다음과 같습니다.


["George", "John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]

  • 시작 위치

    배열 요소 Linda 뒤에 옵니다arr.indexOf( 'Linda' ) + 1

  • 삭제된 요소 수 매개 변수는 여기에서 0으로 설정됩니다. 이것이 요소를 추가하는 핵심이며 요소가 삭제되지 않음을 의미합니다

  • 'Bill', 'Blake' 이 내장 객체 Array입니다. splice 메소드의 마지막 매개변수인 items는 0 이상을 나타냅니다. 여기서 deleteCount 매개변수는 0이고 items는 2개의 값을 갖습니다. 이 매개변수를 표현하려면 요소 값 'Bill', 'Blake'


위는 배열의 특정 요소를 삭제하는 것입니다. 첫 번째 요소와 마지막 요소를 삭제하는 것은 너무 간단합니다. 여기서 간단히 언급하겠습니다


배열의 첫 번째 요소 삭제

arr.shift();

삭제된 배열은 다음과 같습니다.


["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]

배열의 마지막 요소 삭제

arr.pop();

삭제된 배열은 다음과 같습니다.


["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew"]

위 내용이 이 글의 전부입니다. JavaScript를 배우는 모든 분들에게 도움이 되었으면 좋겠습니다! !


관련 추천:


JavaScript 모듈 패턴에 대한 자세한 설명

JavaScript 캡슐화를 작성하는 다양한 방법

JavaScript 관찰자 패턴 예제에 대한 자세한 설명

위 내용은 JavaScript 배열에서 특정 요소를 삭제하는 여러 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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