Array.prototype

Verba volant, scripta manent·2021년 1월 16일
0

JavaScript

목록 보기
14/20
post-thumbnail

Array.prototype.concat()

array.concat()

주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환한다.
(기존배열을 변경하지 않으며 추가된 새로운 배열을 반환한다.)

let array1 = ['a', 'b', 'c'];
let array2 = ['d', 'e', 'f'];
let array3 = array1.concat(array2);

console.log(array3); // ["a", "b", "c", "d", "e", "f"]

array.concat([value1[, value2[, ...[, valueN]]]])
매개변수 : 배열 또는 값
반환 값 : 새로운 Array 객체

배열 두 개 이어붙이기

let alpha = ['a', 'b', 'c'];
let numeric = [1, 2, 3];

alpha.concat(numeric); // ['a', 'b', 'c', 1, 2, 3]

배열 세 개 이어붙이기

let num1 = [1, 2, 3];
let num2 = [4, 5, 6];
let num3 = [7, 8, 9];

num1.concat(num2, num3); // [1, 2, 3, 4, 5, 6, 7, 8, 9]

배열에 값 이어붙이기

let alpha = ['a', 'b', 'c'];

alpha.concat(1, [2, 3]); // ['a', 'b', 'c', 1, 2, 3]

Array.prototype.join()

array.join()

배열의 모든 요소를 연결해 하나의 문자열로 만든다.

var a = ['a', 'b', 'c'];
var myVar1 = a.join();      // myVar1에 'a,b,c'를 대입
var myVar2 = a.join(', ');  // myVar2에 'a, b, c'를 대입
var myVar3 = a.join(' + '); // myVar3에 'a + b + c'를 대입
var myVar4 = a.join('');    // myVar4에 'abc'를 대입

arr.join([separator])
매개변수
seperator : 배열의 각 요소를 구분할 문자열을 지정한다. seperator가 빈 문자열이면 모든 요소들이 사이에 아무 문자도 없이 연결된다.
반환 값 : 배열의 모든 요소들을 연결한 하나의 문자열을 반환한다. 만약 arr.length가 0이거나 요소가 undefined 또는 null이면 빈 문자열을 반환한다.

Array.prototype.splice()

array.splice()

배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다.

array.splice(start, deleteCount, item1, item2, ...)
매개변수
start : 배열의 변경을 시작할 인덱스이다.
deleteCount : 배열에서 제거할 요소의 수이다. 0 이하이면 어떤 요소도 제거하지 않는다.
item1, item2, ... : 배열에 추가할 요소이다. 아무 요소도 지정하지 않으면 splice()는 요소를 제거하기만 한다.
반환 값 : 제거한 요소를 담은 배열. 하나의 요소만 제거한 경우 길이가 1인 배열을 반환하며, 아무 값도 제거하지 않았으면 빈 배열을 반환한다.

제거할 요소의 수와 추가할 요소의 수가 다른 경우 배열의 길이는 달라진다.

하나도 제거하지 않고, 2번 인덱스에 "drum" 추가

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');

// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"] 
// removed is [], no elements removed

하나도 제거하지 않고, 2번 인덱스에 "drum"과 "guitar" 추가

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum', 'guitar');

// myFish is ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"] 
// removed is [], no elements removed

3번 인덱스에서 한 개 요소 제거

var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);

// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]

2번 인덱스에서 한 개 요소 제거하고 "trumpet" 추가

var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');

// myFish is ["angel", "clown", "trumpet", "sturgeon"]
// removed is ["drum"]

0번 인덱스에서 두 개 요소 제거하고 "parrot", "anemone", "blue" 추가

var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');

// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"] 
// removed is ["angel", "clown"]

2번 인덱스에서 두 개 요소 제거

var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);

// myFish is ["parrot", "anemone", "sturgeon"] 
// removed is ["blue", "trumpet"]

-2번 인덱스에서 한 개 요소 제거

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);

// myFish is ["angel", "clown", "sturgeon"] 
// removed is ["mandarin"]

2번 인덱스를 포함해서 이후의 모든 요소 제거

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);

// myFish is ["angel", "clown"] 
// removed is ["mandarin", "sturgeon"]
profile
말은 사라지지만 기록은 남는다

0개의 댓글