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

巴扎黑
풀어 주다: 2017-09-07 10:23:24
원래의
1535명이 탐색했습니다.

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

머리말

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

소스 배열


var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"];
로그인 후 복사

의사 삭제

가상 삭제란 무엇입니까? 즉, 배열 요소 값을 null로 설정하는 것입니다.


rreee

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


arr[ arr.indexOf( 'Thomas' ) ] = null;
로그인 후 복사

그러나 이는 배열 배열의 길이, 즉 변수 arr이 변경되지 않음을 의미합니다.

완전 삭제

완전 삭제란 무엇입니까? 이 문제는 문자 그대로 배열 Array의 요소 값을 삭제하고 배열의 길이를 변경하는 것이라고 생각할 수도 있습니다. 이 요구 사항은 내장된 splice 메서드를 통해 달성할 수 있습니다. 배열 객체 배열! splice 메소드에 대해 말하자면, 특정 매개변수에 대해 이야기해 봅시다:


["George", "John", null, "James", "Adrew", "Martin"]
로그인 후 복사

위는 내장 객체 Array의 splice 메소드에 대한 프로토타입 정의입니다. 중국어 의미는 splicing이며, 그 의미는 다음과 같습니다. 매개변수는 다음과 같습니다.

  • start: 시작점 인덱스 값

  • deleteCount: 삭제할 요소 수

  • items: 삭제 후 교체/추가된 요소
    매개변수가 추가되지 않은 경우 요소 삭제를 의미하며, deleteCount
    매개변수 값과 결합되어야 합니다. deleteCount가 1이고 items 매개변수 위치에 매개변수 값이 주어지면 교체를 의미합니다
    deleteCount가 1이고 항목 매개변수 위치에 두 개 이상의 매개변수 값이 지정된 경우 위의 의사 삭제 null

에 의해 남겨진 요소 값을 삭제하기 위해 splice 메소드를 통해 요소


를 교체하고 추가하는 것을 의미합니다.
Array.prototype.splice = function(start,deleteCount,items) {};
로그인 후 복사

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


arr.splice( arr.indexOf( null ), 1 );
로그인 후 복사

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

splice 함수 - 요소 교체

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


["George", "John", "James", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

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


["George", "John", "James", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

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


arr.splice( arr.indexOf( 'James' ), 1, 'Tom' );
로그인 후 복사

splice 함수 - 요소 교체 및 추가

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


["George", "John", "Tom", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

배열 요소 Tom을 Judy로 바꾸고 추가하려고 합니다. Linda and Alisa


["George", "John", "Tom", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

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


arr.splice( arr.indexOf( 'Tom' ), 1, 'Judy', 'Linda', 'Alisa' );
로그인 후 복사

splice 함수 - 요소 추가

요소 추가 특정 위치에 따라 원하는 위치를 선택할 수 있습니다. 상황 요구 사항, 핵심은 시작의 값 인덱스 위치에 있습니다! 현재 배열 구조는 다음과 같습니다.


["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

예를 들어 Linda와 Alisa 사이에 Bill과 Blake를 추가하려는 경우


["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]
로그인 후 복사
로그인 후 복사

추가된 배열 구조는 다음과 같습니다.


arr.splice( arr.indexOf( 'Linda' ) + 1, 0, 'Bill', 'Blake' );
로그인 후 복사
  • 시작 위치arr.indexOf( 'Linda' ) + 1는 배열 요소 Linda

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

  • 'Bill', 'Blake' 내장 객체 Array의 splice 메소드의 마지막 매개변수 항목입니다. 여기서 deleteCount 매개변수는 0과 배수에 따라 의미가 달라집니다. items에는 두 개의 값이 있습니다. 즉, 요소 ​​값 'Bill', 'Blake'

위는 배열의 특정 요소를 삭제하는 것입니다. 마지막 요소는 여기에 간단히 언급합시다. 배열의 첫 번째 요소 삭제 된 배열은 다음과 같습니다. 배열에서 마지막 요소

["George", "John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]
로그인 후 복사

를 삭제한 후의 배열은 다음과 같습니다.


arr.shift();
로그인 후 복사

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!