본문 바로가기
JavaScript

[JavaScript] Arrays - 01 (slice, splice, reverce, concat, join, at)

by 박헹구 2022. 3. 30.
반응형

Array

 

  • slice
  • splice
  • reverce
  • concat
  • join
  • At

 

slice()

slice() 메서드는 배열의 시작부터 끝까지 (끝은 꼭 포함하지 않아도 됨)에 대한 얕은 복사본을 새로운 배열 객체로 반환한다. 따라서 원래의 배열은 바뀌지 않는다.

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

console.log(arr.slice(2)); // ['c', 'd', 'e']
console.log(arr.slice(2, 4)); // ['c', 'd']

//-2는 배열의 마지막에서 2번째 자리
console.log(arr.slice(-2)); // ['d', 'e']

//첫번째부터, -2는 끝에서 두자리를 제외하고
console.log(arr.slice(1, -2)); // ['b', 'c']

//얕은복사방법
console.log(arr.slice()); // ['a', 'b', 'c', 'd', 'e'];
or
console.log([...arr]);

splice

splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

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

console.log(arr.splice(2)); //['c', 'd', 'e']
console.log(arr); //['a', 'b']
let arr = ['a', 'b', 'c', 'd', 'e'];

console.log(arr.splice(-1)); //  ['e']

console.log(arr);  ['a', 'b', 'c', 'd']

reverse

reverse() 메서드는 배열의 순서를 반전합니다. 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 됩니다. 원본 배열까지 변경하므로 원본 배열까지 변경하고 싶지 않은 경우에는 사용할 수 없다. 

const arr2 = ['j', 'i', 'h', 'g', 'j'];

console.log(arr2.reverse()); //['j', 'g', 'h', 'i', 'j']
console.log(arr2); //['j', 'g', 'h', 'i', 'j']

concat

let arr = ['a', 'b', 'c', 'd', 'e'];
const arr2 = ['j', 'i', 'h', 'g', 'j'];

const letters = arr.concat(arr2);
console.log(letters); // ['a', 'b', 'c', 'd', 'e', 'j', 'g', 'h', 'i', 'j']

or

console.log([...arr, ...arr2]); // ['a', 'b', 'c', 'd', 'e', 'j', 'g', 'h', 'i', 'j']

join

let arr = ['a', 'b', 'c', 'd', 'e'];
console.log(arr.join(' - ')); // a - b - c - d - e

At 메서드

At 메서드는 [] 대괄호 표시법 대신 () 괄호를 쓴다.

number type이 아닌 string에서도 적용된다. 

const arr = [23, 11, 64];

console.log(arr[0]); // 23
console.log(arr.at(0)); // 23

console.log(arr[arr.length - 1]); //64
console.log(arr.slice(-1)[0]); //64
console.log(arr.at(-1)); //64

console.log(arr.at(-2)); //11

console.log('hyemgu'.at(0)); // h
console.log('hyemgu'.at(-1)); // u
반응형

댓글