var arr = [ 'a', 'b', 'c'];
'b'를 삭제하려면 두 가지 방법이 있습니다.
1. 델리트 방법 : ARR 삭제 [1]
이런 식으로 배열의 길이는 변경되지 않은 상태로 유지되지만, 배열의 인덱스가 변경되지 않은 이점이 있습니다. 사용
for (index in arr) {document.write ( 'arr ['+index+'] ='+arr [index]);}이 트래버스 방법은 정의되지 않은 요소를 건너 뜁니다
*이 방법은 향후 지원 될 것입니다.
2. 배열 객체 스플 라이스 방법 : arr.splice (1,1);
이러한 방식으로 배열의 길이는 그에 따라 변경되지만 원래 배열 인덱스도 그에 따라 변경됩니다.
스플 라이스 매개 변수의 첫 번째 1은 삭제의 시작 인덱스 (0에서 계산)이며, 이는 배열의 두 번째 요소입니다.
두 번째 1은 삭제되는 요소의 수이며, 여기서는 하나의 요소 만 삭제됩니다. 즉, 'b';
이 시점에서는 삭제 된 요소가 배열에 유지되지 않기 때문에 배열 요소를 일반적인 방식으로 트래버 할 수 있습니다.
*이 방법은 IE5.5 이후에만 지원됩니다
배열 요소를 삭제하는 동안 스플 라이스 방법은 배열 요소를 추가 할 수 있습니다.
예를 들어, arr.splice (1,1, 'd', 'e'), d, e는 배열 arr에 추가됩니다
결과 배열은 'a', 'd', 'e', 'c'가됩니다.
JavaScript 배열의 길이 속성을 설정하여 배열의 길이를 단축하는 유일한 방법입니다. 요소를 삭제하고 배열의 길이를 변경하는 메소드를 두 번 변경하지 않습니다.
/ * * 방법 : 배열 (DX) * 기능 : 배열 요소 삭제 : DX 삭제 요소 : 원래 배열에서 배열을 수정하십시오. .prototype.remove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} for (var i = 0, n = 0; i <this.length; i ++) {if (이 [i]! = this [dx]) {this [n ++] = this [i]}} this.length- = 1} a = [ '1', '2', '3', '4', '5']; "요소 :"+a+"nlength :"+a.length (0); +A.length); / * * Method.Baoremove (DX) * 기능 : DX 삭제 요소 : 원래 배열에서 배열을 수정합니다. 배열 .prototype.baoremove = function (dx) {if (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1); , '3', '4', '5'; "요소 :"+b+"nlength :"+b.length);IE5 이하에서 JavaScript의 배열 객체는 배열 요소를 삭제하는 기성품 방법을 제공하지 않습니다. IE5.5+ 버전에서는 스플 라이스 메소드가 있지만 특정 항목 (또는 여러 항목)을 삭제하지는 않지만 특정 항목 (또는 여러 항목)의 값 만 지우므로 항목이 여전히 존재 함을 의미합니다. 배열의 길이는 변경되지 않았습니다.
실제로 배열에 삭제 메소드를 추가 할 수 있습니다 (배열 멤버에서 배열의 항목을 제거하는 것을 의미합니다). 어쩌면 당신은 루프를 사용하여 배열을 재 할당하는 것을 생각할 것입니다. 확실히 괜찮지 만 비효율적입니다.
아래에 슬라이스를 사용하는 두 가지 방법을 소개하여 배열 삭제를 사용자 정의합니다.
특정 코드는 다음과 같습니다. 내부의 의견에주의를 기울이십시오.
Array.prototype.del = function (n) {// n은 0부터 시작하는 용어를 나타냅니다. // 프로토 타입은 객체 프로토 타입이며 여기에서 객체에 사용자 정의 메소드를 추가하는 방법에주의를 기울입니다. if (n <0) // n <0이면 아무것도 완료되지 않습니다. 이를 반환하십시오. thislice (0, n). 다음은 this.slice (0, n)/this.slice (n+1, this.length)로 구성된 새로운 배열입니다. 슬라이스 방법 : 각각 시작 및 종료 위치를 지정하는 두 개의 매개 변수가있는 배열 세그먼트를 반환합니다. */} //이 방법을 스스로 늘리십시오. var test = 새로운 배열 (0,1,2,3,4,5); 항목 4. 경고 (테스트);이런 식으로, 우리는 배열 객체의 두 가지 메소드를 유연하게 사용하여 요구 사항을 달성합니다.