업데이트:
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() | 배열 요소의 데이터를 값으로 가지는 이터레이터를 반환한다. |
댓글남기기