simple array method : slice, splice, concat, join

Juyeon Lee·2022년 2월 20일
0

오늘부터 새로운 챕터에 들어가서
array에 대해 자세하게 배워본다~~

제일 먼저 array slice

let arr = ['a', 'b', 'c', 'd', 'e'];

console.log(arr.slice(2));

index 2인 c부터 시작해 c,d,e이렇게 새로운 array가 되어 나온다.
string에서도 알아봤듯이 array에서의 slice도 맨 마지막 애는
포함 안되서 나오는것을 알 수 있다.

console.log(arr.slice(2, 4));

이렇게 해주면 index2부터 시작해 index4는 짤린다.
그래서 콘솔에

['c', 'd']

이렇게 나옴...

console.log(arr.slice(-2));

-는 뒤에서 두개니까

d,e 두개가 array에 담긴다 ㅋㅋ

console.log(arr.slice(1,-2));

이건 index 1번째부터 뒤에서부터 두개가 안들어가서
콘솔로 보면

['b', 'c']

이렇게 나옴 ..

console.log(arr.slice());
console.log([...arr]);

이 두아이들은 array를 shallow copy하는거~~
똑같은 array가 복제됨

다음으로 splice에 대해 알아보자..
splice를 보면 결과가 slice와 똑같이 나오는데
예를 들어

console.log(arr.splice(2));

이렇게 하면 결과가 슬라이스(2)와 똑같다.
근데 다른점은 슬라이스는 오리지널 array가 변형이 안되는반면에
splice는 오리지널 array가 변형됨
콘솔로 해보면 c,d,e가 제외된 a,b가 array로 남는다.

arr.splice(-1);

splice는 이렇게 맨마지막 element는 제거하는데 많이 사용된다고 한다.
위의 결과는 당연히 이렇게 나옴

 ['a', 'b', 'c', 'd']

근데 splice에서 이렇게 두개 파라미터를 가지면
이 숫자의 index에 있는 애들이 지워지는거라고함

arr.splice(1, 2);

이렇게 있으면 index1에 있는 애와 index2에 있는애가
지워지는거니까 b,c가 지워져서 a,d만 남음

다음으로 배울건 Reverse! 단어 뜻과 같이
배열 안에 있는애들이 reverse됨...
근데 이것도 오리지널 array변경된다.

let arr = ['a', 'b', 'c', 'd', 'e'];
const arr2 = ['j', 'i', 'h', 'g', 'f'];
console.log(arr2.reverse());
console.log(arr2);

결과는 이렇게 나옴

['f', 'g', 'h', 'i', 'j']
['f', 'g', 'h', 'i', 'j']

다음으로 배운건 concat!
요건 오리지널 array를 mutate하지 않는다.

const letters = arr.concat(arr2);
console.log(letters);
console.log([...arr, ...arr2]);

첫번째는 concat 방법 쓴거구 두번째는 예전에 배웠던
spread operator를 사용한것.

마지막으로 join!!!!

console.log(letters.join(' - '));

결과는 이렇게 나온다.

a - b - c - d - e - f - g - h - i - j

0개의 댓글