>웹 프론트엔드 >JS 튜토리얼 >자바스크립트에서 지정된 배열 요소를 삭제하는 방법

자바스크립트에서 지정된 배열 요소를 삭제하는 방법

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-07-22 09:43:5239502검색

삭제 방법: 1. 삭제 키워드를 사용합니다. 2. splice() 작업 방법을 사용합니다. 3. 반복 방법을 사용하여 배열 요소를 반복하고 삭제하려는 항목과 일치하는 항목을 삭제합니다. . 프로토타입 프로토타입 메서드, 배열에서 삭제 목적을 달성하기 위해 프로토타입에 메서드를 추가합니다.

자바스크립트에서 지정된 배열 요소를 삭제하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript에서는 Object 외에 Array 유형(array)이 아마도 가장 일반적으로 사용되는 유형일 것입니다. JavaScript의 배열은 다른 언어의 배열에 비해 매우 유연합니다. 이러한 종류의 유연성에는 장점과 단점이 있습니다. 장점은 창의적이고 다양한 유연한 솔루션을 제공할 수 있다는 것입니다. 단점은 실제로 너무 유연하고 너무 유연하기 때문에 무뇌하기 쉽다는 것입니다. 통제할 수 없고 미친 짓이다.

앞에서 몇 마디 웃겼으니 다시 본론으로 돌아가서 JavaScript에서 배열 요소를 삭제하는 7가지 방법은 길이 속성, 삭제 키워드, pop() 스택 메서드, Shift() 대기열 메서드, splice를 사용하는 것입니다. () 작업 메서드, forEach() 또는 filter() 반복 메서드 및 프로토타입 프로토타입 메서드.

delete 키워드

JavaScript는 배열 요소를 삭제(지우기)하는 삭제 키워드를 제공합니다.

var colors = ["red", "blue", "grey", "green"];delete colors[0];

console.log(colors); // [undefined, "blue", "grey", "green"]

delete를 사용하여 요소를 삭제한 후 배열의 길이는 변경되지 않지만 삭제된 요소는 정의되지 않음으로 설정된다는 점에 유의해야 합니다.

splice() 작업 메서드

JavaScript의 Array 개체에 splice() 메서드를 제공하여 배열에 대한 특정 작업을 수행합니다. splice()는 아마도 가장 강력한 배열 방법일 것입니다. 여기서는 배열 요소를 삭제하는 방법만 소개합니다. 배열 요소를 삭제할 때 삭제할 첫 번째 항목의 위치와 삭제할 항목 수라는 2개의 매개변수만 지정하여 원하는 수의 항목을 삭제할 수 있습니다.

var colors = ["red", "blue", "grey"];var color = colors.splice(0, 1);

console.log(color); // "red"console.log(colors); // ["blue", "grey"]

splice(0, 1) 메소드가 호출되면 배열의 첫 번째 항목부터 하나의 항목이 삭제되는 것을 볼 수 있습니다.

반복 방법

소위 반복 방법은 루프를 사용하여 배열 요소를 반복하고 삭제하려는 항목과 일치하는 항목을 삭제하는 것입니다. 가장 일반적으로 사용되는 곳은 배열의 요소가 객체인 경우일 수 있으며, 객체의 특정 속성(예: ID)을 기반으로 배열 요소를 삭제할 수 있습니다.

첫 번째 방법은 가장 일반적인 ForEach 루프를 사용하여 요소를 비교하고 찾은 후 삭제합니다.

var colors = ["red", "blue", "grey"];

colors.forEach(function(item, index, arr) {    if(item === "red") {
        arr.splice(index, 1);
    }
});

splice() 메서드도 삭제를 위해 사용되는 것을 볼 수 있습니다. 루프는 단지 특정 요소를 찾는 것입니다. 또 다른 아이디어는 삭제할 필요가 없는 요소를 루프의 새 배열로 푸시하는 것입니다. 이는 특정 요소를 잘못 삭제하는 목적도 달성할 수 있습니다.

루프에서 필터 메서드를 사용하는 두 번째 방법입니다.

var colors = ["red", "blue", "grey"];

colors = colors.filter(function(item) {    return item != "red"});
 
console.log(colors); // ["blue", "grey"]

코드는 매우 간단합니다. 요소가 빨간색이 아닌 항목의 수를 찾아 색상으로 반환합니다(실제로는 원래 배열을 삭제하는 것이 아니라 새 배열을 얻습니다). 특정 요소를 삭제하는 목적.

prototype 프로토타입 메소드

는 Array의 프로토타입에 메소드를 추가하여 삭제할 수 있습니다.

Array.prototype.remove = function(dx) {  if(isNaN(dx) || dx > this.length){
    return false;
  }

  for(var i = 0, n = 0; i < this.length; i++) {
    if(this[i] != this[dx]) {      this[n++] = this[i];
    }
  }  this.length -= 1;
};var colors = ["red", "blue", "grey"];
colors.remove(1);
console.log(colors); // ["red", "grey"]

이 방법은 실제로 삭제 로직을 직접 구현한 후 Array 프로토타입 객체에 삭제 메소드를 추가하면 이 환경의 모든 Array 객체가 이 방법을 사용할 수 있습니다. 그렇게 하는 것이 가능하더라도 프로덕션 애플리케이션에서 기본 개체의 프로토타입을 수정하는 것은 권장되지 않습니다. 이유는 간단합니다. 특정 구현에서 메소드가 누락된 경우 이 메소드를 기본 객체의 프로토타입에 추가하면 이 메소드를 지원하는 다른 구현에서 코드가 실행될 때 이름 지정 충돌이 발생할 수 있습니다. 그렇게 하면 실수로 기본 메서드가 재정의될 수 있습니다.

【추천 학습: javascript 고급 튜토리얼

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

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