JS 배열 요소의 첨가 및 삭제는 혼란 스럽습니다. 오늘 나는 마침내 자세한 설명을 찾았습니다. 먼저 테스트 할 코드를 줄 것입니다^-^
코드 사본은 다음과 같습니다.
var arr = new Array ();
ARR [0] = "AAA";
ARR [1] = "BBB";
ARR [2] = "CCC";
//alert(Arr.length) ;//3
arr.pop ();
//alert(Arr.length) ;//2
//alert(arr.length-1]) ;//bbb
arr.pop ();
//Alert(ARR.LENGTH-1]) ;//AAA
//alert(Arr.length) ;//1
var arr2 = 새로운 배열 ();
//Alert(ARR2.length) ;//0
ARR2 [0] = "AAA";
ARR2 [1] = "BBB";
//Alert(ARR2.length) ;//2
arr2.pop ();
//Alert(ARR2.length) ;//1
arr2 = arr2.slice (0, arr2.length-1);
//Alert(ARR2.length) ;//0
ARR2 [0] = "AAA";
ARR2 [1] = "BBB";
ARR2 [2] = "CCC";
arr2 = arr2.slice (0,1);
경고 (arr2.length); // 1
경고 (ARR2 [0]); // aaa
ALERT (ARR2 [1]); // 정의되지 않았습니다
Shift : 원래 배열의 첫 번째 항목을 삭제하고 삭제 된 요소의 값을 반환합니다. 배열이 비어 있으면 정의되지 않은 반환
var a = [1,2,3,4,5];
var b = a.shift (); // a : [2,3,4,5] b : 1
교체되지 않음 : 원래 배열의 시작 부분에 매개 변수를 추가하고 배열의 길이를 반환합니다.
var a = [1,2,3,4,5];
var b = a.unshift (-2, -1); // a : [-2, -1,1,2,3,4,5] b : 7
참고 : IE6.0의 테스트 반환 값은 항상 정의되지 않았으며 FF2.0의 테스트 반환 값은 7 이므로이 방법의 반환 값은 신뢰할 수 없습니다. 반환 값을 사용해야하는 경우이 방법 대신 스플 라이스를 사용할 수 있습니다.
POP : 원래 배열의 마지막 항목을 삭제하고 삭제 된 요소의 값을 반환합니다. 배열이 비어 있으면 정의되지 않은 반환
var a = [1,2,3,4,5];
var b = a.pop (); // A : [1,2,3,4] B : 5 // 반환 할 필요가 없으면 직접 전화하십시오.
푸시 : 원래 배열 끝에 매개 변수를 추가하고 배열의 길이를 반환합니다.
var a = [1,2,3,4,5];
var b = a.push (6,7); // A : [1,2,3,4,5,6,7] B : 7
CONCAT : 원래 배열에 매개 변수를 추가하는 것으로 구성된 새 배열을 반환합니다.
var a = [1,2,3,4,5];
var b = a.concat (6,7); // A : [1,2,3,4,5] B : [1,2,3,4,5,6,7]
Splice (start, deletecount, val1, val2, ...) : 시작 위치에서 DeleteCount 항목 및 Val1, Val2, ...
배열을 지우면 startIndex를 전달하십시오.
모든 요소가 삭제되지 않으면 DeleteCount 매개 변수를 전달하십시오.
Splice는 또한 먼저 삭제 한 다음 추가 한 다음 여러 요소를 먼저 삭제 한 다음 삭제 된 위치에 여러 요소를 추가하는 기능을 갖습니다. 삭제되고 추가 된 요소의 수는 같지 않아야합니다. 현재 DeleteCount도 사용됩니다.
var a = [1,2,3,4,5];
var b = a.splice (2,2,7,8,9); // A : [1,2,7,8,9,5] B : [3,4]
var b = a.splice (0,1); // 동일한 시프트
A.splice (0,0, -2, -1); var b = a.length; // 동일한 변속
var b = a.splice (A.length-1,1); // 같은 팝
A.splice (A.length, 0,6,7); var b = a.length; // 동일한 푸시
반대로 : 배열을 반대쪽으로 반대합니다
var a = [1,2,3,4,5];
var b = a.reverse (); // A : [5,4,3,2,1] B : [5,4,3,2,1]
정렬 (OrderFunction) : 지정된 매개 변수 별 배열을 정렬하십시오
var a = [1,2,3,4,5];
var b = a.sort (); // A : [1,2,3,4,5] B : [1,2,3,4,5]
슬라이스 (시작, 끝) : 원래 배열의 지정된 시작 위시에서 엔드 첨자로 구성된 항목으로 구성된 새 배열을 반환합니다.
var a = [1,2,3,4,5];
var b = a.slice (2,5); // A : [1,2,3,4,5] B : [3,4,5]
가입 (분리기) : 배열의 요소를 분리기로 분리기로 문자열로 그룹화하십시오. 생략되면 기본적으로 쉼표를 분리기로 사용하십시오.
var a = [1,2,3,4,5];
var b = a.join ( "|"); // a : [1,2,3,4,5] b : "1 | 2 | 3 | 4 | 5"
다음은 배열을 사용하여 JavastringBuffer를 시뮬레이션하여 문자열을 처리하는 또 다른 방법입니다.
/**
* 문자열 처리 기능
*/
함수 stringBuffer () {
var arr = 새로운 배열;
this.append = function (str) {
arr [arr.length] = str;
};
this.tostring = function () {
arr.join ( ""); // 문자열에 추가되는 배열을 핑하십시오
};
}
오늘, 나는 갑자기 결합이 응용 프로그램의 배열로 배열로 변환하는 좋은 방법이라는 것을 갑자기 발견했습니다. 그래서 나는 그것들을 물체로 캡슐화하고 사용했습니다.
/**
*배열을 특정 기호로 분리하는 문자열로 변환
*/
함수 배열 (ARR, 분리기) {
if (! 분리기) separator = ""; // 분리기가 null 인 경우 기본적으로 비어 있습니다.
arr.join (분리기)을 반환합니다.
}
/**
* 배열에 포함 된 문자열을 찾으십시오
*/
함수 ArrayFindString (ARR, String) {
var str = arr.join ( "");
return str.indexof (String);
}