업데이트:

Array

배열을 생성하는 방법

생성자로 생성할 때, 인수가 한개고 정수이면 배열의 길이를 의미함.

var array = [1, 2, 3];
var arr = new Array(3);

배열을 액세스 하는 방법

for문 for-in문으로 가능.

array.forEach(function(element) {
  console.log(element);
});

push, pop, shift, unshift

push :

배열 마지막에 새로운 요소를 추가

array.push(4);
console.log(array, "\n");

pop :

배열의 마지막 요소를 추출(반환), 배열에 영향을 줌

console.log(array.pop());
console.log(array, "\n");

shift :

배열 첫번째 요소를 추출(반환), 배열에 영향을 줌

console.log(array.shift());
console.log(array, "\n");

unshift :

배열 첫번째에 새요소를 추가

console.log(array.unshift(0));
console.log(array, "\n");

indexOf :

배열에서 색인하여 위치를 반환

console.log(array.indexOf(3)); //3은 2에 위치하여 2반환.

splice(start, count) :

원하는 위치의 값을 반환(배열타입). count를 설정하지 않으면 시작에서 끝까지 반환, 배열에 영향을 줌

var array2 = [0, 1, 2, 3, 4];
console.log(array2.splice(2));
console.log(array2);

slice(start, end) :

원하는 위치의 값을 반환, 배열에 영향을 주지 않음.

var array3 = [0, 1, 2, 3, 4];
console.log(array3.slice(2, 4)); //[2, 3]
console.log(array3);

filter() :

어떤 조건에 부합한 요소들만 추출하여 새배열로 반환, 배열에 영향을 주지 않음.

var array4 = [0, 1, 2, 3, 4];
console.log(
  array4.filter(function(item) {
    return item > 2; //조건문과 반환문이 있음.
  })
);
console.log(array4);

map() :

모든 배열요소에 어떤 처리를 하여 새배열을 반환, 배열에 영향을 주지 않음.

console.log(
  array4.map(function(item) {
    return item * 2; //처리문과 반환이 있음.
  })
);
console.log(array4);

reverse() :

배열을 역순으로 변경. 원본배열에 영향을 줌.

console.log(array4.reverse());
console.log(array4);

concat() :

두 배열을 단일배열로 만들어 새로운 배열로 반환. 원본배열에 영향이 없음.

var newArray = ["join", "me"];
var oldArray = [1, 2, 3, 4, 5];

console.log(newArray.concat(oldArray)); //["join", "me", 1, 2, 3, 4, 5]

join() :

배열을 문자열로 변환, 배열사이에 주어진 값를 삽입. 원본배열에 영향이 없음.

console.log("join \n");
console.log(newArray.join(oldArray)); //join1,2,3,4,5me

reduce(total, value) :

수식을 이용해 배열을 하나의 값으로 축소, 원본배열에 영향 없음.

console.log(
  oldArray.reduce(function(tot, val) {
    // 15반환
    return tot + val;
  })
);

console.log(
  oldArray.reduce(function(tot, val) {
    // 25반환
    return tot + val;
  }, 10)
); //초기값을 설정하면 첫번째 더할 숫자가 설정됨.

희소배열

순차적으로 생성되지 않은 배열을 희소배열이라고 함.

var a = [1, 2, 3];
a[4] = 4;
console.log(a.length); //5 (배열의 갯수인 4가 아니라 5가 출력)

배열도 객체

  • 배열도 객체이기에 fon-in과 hasOwnProperty, delete, push, 속성추가등이 가능.
  • 배열과 객체의 차이점은 배열은 length속성이 있으며, proto가 각각 Array, Object로 다름.
var a = [1, 2, 3];
// a[4] = 4;
console.log(a);

var b = {
  0: 1,
  1: 2,
  2: 3
};
console.log(b);

Array 메서드

분류
메서드
설명
비고
수정 메서드 copyWithin(target, begin, end) begin~end-1 사이의 요소를 targt의 위치에 복사한다. ES6
  fill(value, begin, end) begin~end-1 사이의 요소를 target으로 대체한다.  
  pop() 배열의 마지막 요소를 잘라낸다.  
  push(data) 배열 끝에 data 값을 배열 요소로 추가한다.  
  reverse() 배열의 요소를 역순으로 정렬한다.  
  shift() 배열의 첫번째 요소를 잘라낸다.  
  sort([callback]) 배열의 요소를 callback이 구현한 방법에 따라 정렬한다.  
  splice(index, howmay [, data …]) index부터 howmay개의 배열 요소를 data로 대체한다.  
  unshift(data1 [, data2, …]) 인수로 지정한 데이터를 배열의 시작 부분에 추가한다.  
접근자 메서드 concat(array) 지정한 배열을 대상 배열에 연결한다.  
  indexOf(data, index) data와 같은 첫번째 배열 요소의 키를 검색한다.(index는 검색을 시작하는 위치)  
  join(string) 배열의 요소를 string으로 연결한 문자열을 반환한다.  
  lastIndexOf(data, index) data와 같은 마지막 배열 요소의 키를 검색한다(index는 검색을 시작하는 위치)  
  slice(begin [, end]) begin~end-1 사이의 요소를 제거한 새로운 배열을 반환한다.  
  toLocaleString() 배열의 요소를 해당 지역에 맞는 언어로 번역한(지역화한)문자열로 변환한 뒤 쉼표로 연결해서 반환한다.  
  toString() 배열의 요소를 문자열로 변환한 뒤 쉼표로 연결해서 반환한다.  
반복 메서드 entries() 배열 요소의 인덱스와 값이 요소로 들어 있는 배열 값으로 반환하는 이터레이터를 반환한다. ES6
  every(callback) 배열의 모든 요소가 callback 조건에 부합하는지 판정한다.  
  filter(callback) callback 조건에 부합하는 배열 요소만 담은 새로운 배열을 생성한다.  
  find(callback[, thisArg]) callback 조건에 부합하는 첫 번째 배열 요소를 반환한다. ES6
  findIndex(callback [, thisArg]) callback 조건에 부합하는 첫 번째 배열 요소의 인덱스를 반환한다. ES6
  forEach(callback [, thisArg]) 배열의 요소를 callback을 사용하여 차례대로 처리한다.  
  keys() 배열 요소의 인덱스를 값으로 가지는 이터레이터를 반환한다. ES6
  map(callback [, thisArg]) 배열의 요소를 callback으로 치라한 결과물을 배열로 반환한다.  
  reduce(callback [, initial]) 이웃한 배열 요소를 배열의 왼쭉부터 차례대로 callback으로 처리하여 하나의 값으로 만들어 반환한다.(initial은 초깃값)  
  reduceRight(callback [, initail]) 이웃한 배열 요소를 배열의 오른쪽부터 차례대로 callback으로 처리하여 하나의 값으로 만들어 반환한다.(initial은 초깃값)  
  some(callback [,thisArg]) 배열 요소 단 하나라도 callback 조건에 부합하는지 판정한다.  
  values() 배열 요소의 데이터를 값으로 가지는 이터레이터를 반환한다.  

댓글남기기