[TIL / JavaScript] 배열 (2)

데이터의 추가


push

  • push를 사용하면 인자로 전달된 값을 배열에 추가할 수 있다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.push('f');
alert(li);
// ['a', 'b', 'c', 'd', 'e', 'f'];

3번 인덱스까지 있는 배열에 push로 원소를 추가하면 4번 인덱스를 갖는다.

concat

  • concat를 사용하면 여러 개의 값을 한꺼번에 추가할 수 있다.
  • concat의 인자는 배열이다.
  • 배열과 배열을 하나로 연결하여 return한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li = li.concat(['f', 'g']);
alert(li);
// ['a', 'b', 'c', 'd', 'e', 'f', 'g'];

unshift

  • unshift를 사용하면 배열의 시작점에 원소를 추가할 수 있다.
  • 인자로 전달한 값을 배열의 첫 번째 원소로 추가하고, 배열의 기존 값들의 인덱스를 1씩 증가시킨다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.unshift('z');
alert(li);
// ['z','a', 'b', 'c', 'd', 'e'];

splice

  • splice를 사용하면 배열 중간에 원소들을 추가하거나 제거할 수 있다.
  • 첫 번째 인자(인덱스)에 해당하는 원소부터, 두 번째 인자에 해당하는 원소의 숫자만큼 값을 배열로부터 제거한 후에 return한다. 그리고 세 번째 인자부터 전달된 인자들을 첫 번째 인자의 원소 뒤에 추가한다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.splice(2, 1, 'B');
// 'c'를 return한다.
alert(li);  // ['a', 'b', 'B', 'd', 'e']

암기하지 말자. 자주 쓰다 보면 외워지고, 필요하면 찾아 쓰면 된다.

매뉴얼을 제대로 보는 능력이 더 중요하다.

제거와 정렬


shift

  • shift를 사용하면 배열의 첫 번째 원소를 제거할 수 있다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.shift();
// 'a'를 return한다.
alert(li);  // ['b', 'c', 'd', 'e'];

pop

  • pop을 사용하면 배열의 마지막 원소를 제거할 수 있다.
var li = ['a', 'b', 'c', 'd', 'e'];
li.pop();
// 'e'를 return한다.
alert(li);  // ['a', 'b', 'c', 'd'];

sort

  • sort를 사용하면 무작위의 배열을 정렬할 수 있다.
var li = ['c', 'e', 'a', 'b', 'd'];
li.sort();
alert(li);  // ['a', 'b', 'c', 'd', 'e']

reverse

  • reverse를 사용하면 무작위의 배열을 역순으로 정렬할 수 있다.
var li = ['c', 'e', 'a', 'b', 'd'];
li.reverse();
alert(li);  // ['e', 'd', 'c', 'b', 'a']
  • 위의 경우에는 내장되어 있는 정렬기준으로 정렬했지만 sort function 메소드를 사용하면 원하는 정렬방법에 따라 정렬이 가능하다.

지금 모든 속성을 알 필요가 없다. 배열을 사용하면서 필요한 기능이 생기면 그 때 찾아봐도 늦지 않다.

P.S.

배열이라는 문법 하나에도 이렇게 수많은 메소드가 있다면, 필요한 속성을 찾아서 내가 생각할 수 있는 어떤 기능도 만들어낼 수 있을 것 같다는 생각이 들었다😄

참고 문서


좋은 웹페이지 즐겨찾기