javascript 배열 합치기

bebrain·2022년 12월 1일
0

arr.concat()

🔔 문법 : arr.concat (arr1, arr2,...)

🔔 기존배열을 변경하지 않는다

const arr1 = [1, 2];
const arr2 = ['a', 'b'];

const arr3 = arr1.concat(arr2);

console.log(arr3); // [1, 2,'a','b']

이렇게도 쓸 수 있다

const arr1 = [1, 2];
arr1.concat([3, 4]); // [1, 2, 3, 4]
arr1.concat([3, 4], [5, 6]); // [1, 2, 3, 4, 5, 6]
arr1.concat([3, 4], 5, 6); // [1, 2, 3, 4, 5, 6]

arr.push()

const arr1 = [1, 2, 3];
const arr2 = ['a', 'b', 'c'];
const arr3 = ['가', '나', '다'];

const arr4 = [];
arr4.push(arr1, arr2, arr3);

console.log(arr4); // [[ 1, 2, 3 ], [ 'a', 'b', 'c' ], [ '가', '나', '다' ]]

배열들을 합치고 싶다면 전개구문을 활용한다

const arr1 = [1, 2, 3];
const arr2 = ['a', 'b', 'c'];
const arr3 = ['가', '나', '다'];

const arr4 = [];
arr4.push(...arr1, ...arr2, ...arr3);

console.log(arr4); // [1, 2, 3 , 'a', 'b', 'c' , '가', '나', '다']

Spread syntax 전개구문 배열

const arr1 = [1, 2, 3];
const arr2 = ['a', 'b', 'c'];
const arr3 = ['가', '나', '다'];

const arr4 = [
  ...arr1,
  ...arr2,
  ...arr3
];

console.log(arr4); // [1, 2, 3, 'a', 'b', 'c', '가', '나', '다']

splice

🔔 배열 추가, 삭제, 교체 전부 가능하다.

🔔 array.splice(start [, deleteCount [, item1 [, item2 [, ...]]]])

※ []안에 있는 인자들은 필수요소가 아닌 옵션

start

: 변경을 시작할 인덱스.
배열의 길이보다 큰 경우 실제 시작 인덱스는 배열의 길이로 설정된다.
음수인 경우 배열의 끝에서부터 요소를 세어나가 array.length -n번째 인덱스를 가르키며,
값의 절대값이 배열의 길이보다 큰 경우 0으로 설정된다.

deleteCount

: 배열에서 제거할 요소의 수.
deleteCount를 생략하거나 값이 array.length -start보다 크면 start부터의 모든 요소를 제거하며,
0이하라면 어떤 요소도 제거하지 않으나 이 때는 최소한 하나의 새로운 요소를 지정해야한다.

item

: 배열에 추가할 요소이다.
보통 배열 요소를 삭제할때는 생략해서 사용
const mine = [0,1,2,3];

// 배열 2번째 위치한곳에 숫자 5를 추가한다.
mine.splice(2,0,5); // [0, 1, 5, 2, 3]

// 배열 2번째 위치한곳에 숫자 5,7을 추가한다.
mine.splice(2,0,5,7); //[0, 1, 5, 7, 2, 3]
// 배열 1번째 부터 1개를 제거한다.
mine.splice(1,1); // [0, 2, 3]

// 배열 1번째 부터 2개를 제거한다.
mine.splice(1,2); //[0, 3]


// 배열 1번째부터 1개를 제거하고 숫자 5로 추가한다.
mine.splice(1,1,5); // [0, 5, 2, 3]

// 배열 1번째부터 2개를 제거하고 숫자 5로 추가한다.
mine.splice(1,2,5); //[0, 5, 3]


// 배열 1번째 부터 1개를 제거한다.
var remove = mine.splice(1,1); // [1]

// 배열 1번째 부터 2개를 제거한다.
var remove = mine.splice(1,2); //[1, 2]
출처 : https://mine-it-record.tistory.com/352

1개의 댓글

comment-user-thumbnail
2022년 12월 2일

ㅎㅎ어제 하루도 공부 너무 고생하셨어요

답글 달기