>웹 프론트엔드 >JS 튜토리얼 >JS 배열 작업 메서드 concat(), Slice(), splice()에 대한 심층적인 이해

JS 배열 작업 메서드 concat(), Slice(), splice()에 대한 심층적인 이해

yulia
yulia원래의
2018-09-14 15:06:181968검색

저는 요즘 꽤 자유로워서 배운 내용을 정리했습니다. 이 글은 배열, concat(), Slice(), splice()의 다양한 조작 방법을 요약한 것입니다. 그것은 당신에게 유용할 것입니다.

concat() 메서드

concat() 메서드: 현재 배열의 모든 항목을 기반으로 새 배열을 만듭니다.
구체적인 프로세스는 다음과 같습니다. 먼저 배열의 복사본을 생성하고, concat()에 대한 매개변수가 있는 경우 수신된 매개변수를 복사본의 끝에 추가한 다음 매개변수가 전달되지 않으면 새로 구성된 배열을 반환합니다. 현재 배열을 반환하고 복사본 배열을 반환합니다.
concat()의 매개변수는 새로운 배열이나 문자열이 될 수 있습니다.

var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow",["black","brown"]);
alert(colors);
alert(colors2);

결과는 colors가 ["red", "green", "blue"] 배열입니다.
colors2는 ["red", "green", "blue", "yellow", "black" 배열입니다. , "brown" ];
concat() 메서드는 현재 배열로 새 배열을 다시 생성하므로 현재 배열은 변경되지 않습니다(color 배열은 변경되지 않음).

slice() 메서드

slice() 메서드: 현재 배열에 있는 하나 이상의 항목을 기반으로 새 배열을 만듭니다.
slice() 메서드에는 하나 또는 두 개의 매개 변수(배열의 인덱스 값 0, 1, 2...를 나타냄)가 있을 수 있습니다. 파라미터를 받은 경우: 현재 배열의 파라미터 위치부터 현재 배열의 끝까지 모든 항목을 반환합니다. 두 개의 매개변수를 받는 경우: 두 매개변수 위치 사이에 있는 현재 배열의 모든 항목을 반환하지만, 두 번째 매개변수 위치에 있는 항목은 반환하지 않습니다.
매개변수는 음수일 수도 있는데, 이는 끝부터 센다는 뜻이고, -1은 마지막 숫자를 의미하며 사용방법은 양수와 동일합니다.

var colors = ["red","green","blue","yellow","black","brown"];
var colors2 = colors.slice(2);
var colors3 = colors.slice(1,4);
var colors4 = colors.slice(2,-2);
var colors5 = colors.slice(-3,-1);
console.log(colors2);
console.log(colors3);
console.log(colors4);
console.log(colors5);

결과는 다음과 같습니다: ["파란색", "노란색", "검은색", "갈색"]
["녹색", "파란색", "노란색"]
["파란색", "노란색"]
[ " yellow", "black"]
또한, Slice() 메소드를 사용하여 배열을 제거할 수도 있습니다

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);
};

For

rest = this.slice((to || from) + 1 || this.length);

to가 0과 같지 않으면 (to||from)은 to와 같습니다. 이고 to+1은 0이 아닌 경우 ((to || from) + 1 || this.length)는 to+1입니다), to+1=0이면 ((to || from) + 1 | | this.length)는 this.length입니다.
to=0이면 (to||from)이 from이고, from+1이 0과 같지 않으면 ((to || from) + 1 || this.length) from+1이고, from+1=0인 경우 ((to || from) + 1 || this.length)는 this.length입니다.

splice() 메서드

splice()는 주로 현재 배열의 중간에 항목을 삽입하는 데 사용되며 삭제, 삽입 및 교체 작업을 수행할 수 있습니다. 원본 항목에서 삭제된 항목이 포함된 배열을 반환합니다. (삭제하지 않으면 빈 배열이 반환됩니다.)
Delete: 두 개의 매개변수, 삭제할 시작 항목의 위치와 삭제된 항목 수.

var colors = ["red","green","blue"];
var removed = colors.splice(1,2);
alert(colors);      //red
alert(removed);     //green,blue

삽입: 두 가지 기본 매개변수(즉, 삭제 작업의 두 가지 매개변수 유형)와 삽입할 항목의 매개변수를 포함하여 지정된 위치에 원하는 수의 항목을 삽입합니다. 두 가지 기본 매개변수는 시작 위치와 0(삭제할 숫자). 항목 수는 0개여야 하며, 삽입할 항목 매개변수는 임의의 숫자("red", "green", "blue")일 수 있습니다.

var colors = ["red","green","blue"];
var removed = colors.splice(1,0,"yellow","orange");
alert(colors);      //"red","yellow","orange","green","blue"
alert(removed);     //空数组

교체: 지정된 위치에 원하는 수의 항목을 삽입하고 동시에 원하는 수의 항목을 삭제합니다. 삽입된 항목 수와 삭제된 항목 수는 다를 수 있습니다. 매개변수에는 두 가지 기본 매개변수(즉, 삭제 작업의 두 가지 매개변수 유형)와 삽입할 항목의 매개변수가 포함됩니다.

var colors = ["red","green","blue"];
var removed = colors.splice(1,1,"purple","black");
alert(colors);    //"red","purple","black","blue"
alert(removed);   //"green"

사실, splice() 메서드에는 삭제 항목에 대한 두 가지 기본 매개변수와 여러 개의 삽입 매개변수가 포함되어 있다는 것이 일반적인 이해입니다. 삭제 항목에 대한 두 가지 기본 매개변수 중 첫 번째는 삭제 위치를 지정하고 두 번째는 삭제 위치를 지정합니다. 삭제 횟수가 0이면 삭제되지 않으며 위치 지정 기능만 있습니다. 삽입 항목 매개변수의 개수는 삽입할 항목 값을 나타냅니다. 개수에는 제한이 없으며 생략할 경우 splice() 메서드는 삭제 작업만 수행합니다.

위 내용은 JS 배열 작업 메서드 concat(), Slice(), splice()에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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