피카부 RSS 태그 관리 글쓰기 방명록 다시 시작하는 개발 블로그
2017-06-14 17:07:04

요소 추가

제일 앞에 추가 - unshift

배열 가장 앞에 값을 추가합니다

var array = ['b', 'c'];

array.unshift('a');
console.log(array); // ['a', 'b', 'c']

제일 뒤에 추가 - push

배열 가장 뒤에 값을 추가합니다

var array = ['a', 'b'];

array.push('c');
console.log(array); // ['a', 'b', 'c']

특정 위치에 1개 이상 추가 - splice

배열의 지정한 위치에 1개 이상 값을 추가합니다.

var array = ['a', 'b', 'c'];

array.splice(1, 0, 'A'); // 2번째에 삽입
console.log(array); // ['a', 'A', 'b', 'c']


var array = ['a', 'b', 'c'];

array.splice(2, 0, 'A', 'B'); // 3번째에 복수 삽입
console.log(array); // ['a', 'b', 'A', 'B', 'c']

배열 결합

비파괴적 결합 - concat

결합 후 새로운 배열을 생성합니다. 기존 배열에 영향을 주지 않습니다.

var array1 = ['a', 'b'];
var array2 = ['c', 'd'];

var array = array1.concat(array2);

console.log(array);  // ['a', 'b', 'c', 'd']
console.log(array1); // ['a', 'b']
console.log(array2); // ['c', 'd']

파괴적 결합 - push

하나의 배열에 다른 또 하나의 배열을 결합합니다. 새로운 배열을 생성하지 않습니다.

var array1 = ['a', 'b'];
var array2 = ['c', 'd'];

Array.prototype.push.apply(array1, array2);

console.log(array1); // ['a', 'b', 'c', 'd']
console.log(array2); // ['c', 'd']

요소 취득

제일 앞의 값 취득

배열의 가장 앞의 값을 구합니다.

var array = ['a', 'b', 'c'];

var value = array[0];

console.log(array); // ['a', 'b', 'c']
console.log(value); // 'a'

제일 뒤의 값 취득

배열의 가장 뒤의 값을 구합니다.

var array = ['a', 'b', 'c'];

var value = array[array.length - 1];

console.log(array); // ['a', 'b', 'c']
console.log(value); // 'c'

배열의 개수를 취득 - length

배열의 개수 즉, 요소의 수를 구합니다.

var array = ['a', 'b', 'c'];

var l = array.length;

console.log(l); // 3

값의 첫째 키 값 취득 - indexOf

배열의 값에서 key를 취득합니다. 두개 이상 같은 값이 존재할 경우는 최초의 값의 key 값을 구합니다.

var array = ['a', 'b', 'c'];

var index = array.indexOf('b');

console.log(index); // 1

값의 마지막 키 값 취득 - lastIndexOf

배열의 값에서 key를 취득합니다. 두개 이상 같은 값이 존재할 경우는 마지막 값의 key 값을 구합니다.

var array = ['a', 'b', 'c', 'b'];

var index = array.lastIndexOf('b');

console.log(index); // 3

지정한 위치에서 1개 이상의 값을 취득 - slice

지정한 위치에서 1개 이상의 값(배열)을 구합니다. slice의 제1 인수의 위치에서 제2 인수까지의 값을 구합니다. 즉, 첫째인수값 이상 둘째 인수값 미만의 배열을 구합니다.

var array = ['a', 'b', 'c', 'd'];

var s1 = array.slice(1, 2);
var s2 = array.slice(1, 3);

console.log(array); // ['a', 'b', 'c', 'd']
console.log(s1);    // ['b']
console.log(s2);    // ['b', 'c']

랜덤 값 취득 - Math.random

Math 함수를 이용하여 배열의 값을 랜덤하게 구합니다.

var array = ['a', 'b', 'c'];

var r = Math.floor(Math.random() * array.length); // 0~2의 값

console.log(array[r]); // 'a' OR 'b' OR 'c'

최대값, 최소값 취득 - Math.max Math.min

Math 함수를 이용하여 배열의 값의 최대값, 최소값을 구합니다.

var array = [3, 1, 5, 9];

var max = Math.max.apply(null, array);
var min = Math.min.apply(null, array);

console.log(max); // 9
console.log(min); // 1

요소 삭제

첫번째 값 삭제 - shift

배열의 제일 첫번째를 삭제하여 매꿉니다.

var array = ['a', 'b', 'c'];

array.shift();
console.log(array); // ['b', 'c']

배열의 가장 첫번째에 undefined를 대입하여 삭제후 매꾸지 않습니다.

var array = ['a', 'b', 'c']; array[0] = void 0; // void 0에 의해 undefined를 대입 console.log(array); // [undefined, 'b', 'c']

마지막 값 삭제 - pop

배열의 가장 마지막을 삭제합니다.

var array = ['a', 'b', 'c'];

array.pop();
console.log(array); // ['a', 'b']

지정한 위치에서 1개 이상의 값을 삭제 - slice

배열에서 지정한 위치에서 1개 이상의 값을 삭제합니다.

var array = ['a', 'b', 'c'];

array.splice(1, 1); // 2번째에서 1개 삭제
console.log(array); // ['a', 'c']


var array = ['a', 'b', 'c'];

array.splice(1, 2); // 2번째에서 2개 삭제
console.log(array); // ['a']

배열의 모든 요소를 삭제 - length, []

배열의 길이를 의도적으로 0으로 하여, 배열의 모든 요소를 삭제합니다.

var array = ['a', 'b', 'c'];

array.length = 0;
console.log(array); // []

빈 배열을 재대입하여 초기화시켜 배열의 전 요소를 삭제합니다.

var array = ['a', 'b', 'c'];

array = [];
console.log(array); // []