자바스크립트 배열의 요소를 삭제하는 방법

藏色散人
풀어 주다: 2023-01-06 11:12:13
원래의
16316명이 탐색했습니다.

자바스크립트 배열에서 요소를 삭제하는 방법: 먼저 자바스크립트 배열 배열 객체에 대한 함수를 정의하여 배열에서 지정된 요소의 위치를 찾은 다음 마지막으로 제거 기능을 통해 요소를 삭제합니다. 할 수 있다.

자바스크립트 배열의 요소를 삭제하는 방법

이 문서의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

js는 배열에서 요소를 삭제합니다

배열에 지정된 요소 삭제

먼저 js 배열 개체에 대한 함수를 정의하여 배열에서 지정된 요소의 위치를 찾을 수 있습니다. , index , 코드는 다음과 같습니다.

Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; };
로그인 후 복사

그런 다음 이 요소의 인덱스를 사용하고 js 배열 자체 함수를 사용하여 이 요소를 삭제합니다.

코드는 다음과 같습니다.

Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } };
로그인 후 복사

이런 식으로 이러한 함수가 구성됩니다. 예를 들어 배열이 있습니다:

var emp = ['abs','dsf','sdf','fd']
로그인 후 복사

'fd'를 삭제하려면 다음을 사용할 수 있습니다.

emp.remove('fd');
로그인 후 복사

배열의 항목 삭제

splice(index,len,[item]) 참고: 이 방법은 원래 배열을 변경하십시오.

splice에는 3개의 매개변수가 있으며, 배열에서 하나 이상의 값을 대체/삭제/추가하는 데에도 사용할 수 있습니다.·

index: 배열 시작 인덱스 len: 대체/삭제 항목의 길이: 대체 값, 삭제 작업 If 항목이 비어 있습니다

예: arr = ['a','b','c','d']

Delete

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c','d']; //删除起始下标为1,长度为2的一个值(len设置2) var arr2 = ['a','b','c','d'] arr2.splice(1,2); console.log(arr2); //['a','d']
로그인 후 복사

Replace

//code from http://caibaojian.com/js-splice-element.html //替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1 var arr = ['a','b','c','d']; arr.splice(1,1,'ttt'); console.log(arr); //['a','ttt','c','d'] var arr2 = ['a','b','c','d']; arr2.splice(1,2,'ttt'); console.log(arr2); //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
로그인 후 복사

Add------ len이 0으로 설정되었습니다.

var arr = ['a','b','c','d']; arr.splice(1,0,'ttt'); console.log(arr); //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
로그인 후 복사

2의 값이 추가되었습니다: delete

delete 배열의 요소를 삭제한 후 배열 아래에 표시된 값은 정의되지 않은 값으로 설정되고 배열의 길이는 변경되지 않습니다

var arr = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
로그인 후 복사

업데이트 2016-11 -17: stackoverflow가 높음 하위 답변에서 jquery의 아버지인 John Resig가 기사에서 작성한 코드를 보았습니다.

// Array Remove - By John Resig (MIT Licensed) Array.prototype.remove = function(from, to) { var rest = this.slice((to || from) + 1 || this.length); this.length = from < 0 ? this.length + from : from; return this.push.apply(this, rest); };
로그인 후 복사

다음은 실제 사용 사례입니다.

// 移除数组中的第二项 array.remove(1); // 移除数组中的倒数第二项 array.remove(-2); // 移除数组中的第二项和第三项(从第二项开始,删除2个元素) array.remove(1,2); // 移除数组中的最后一项和倒数第二项(数组中的最后两项) array.remove(-2,-1);
로그인 후 복사

이 예는 다음과 매우 유사합니다. 위의 첫 번째 항목이지만 확인 요소가 없습니다. 특정 항목은 배열에 있는 요소의 아래 첨자 위치를 기준으로 찾아 삭제됩니다.

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

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

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