- 자바스크립트 배열 다루기
* 기본 동작
var fruits= [];
- 원소 추가
fruits.push('바나나');
- 원소 삭제
var pos = fruits.indexOf("바나나"); //검색
var removedItem = fruits.splice(pos, 1);
var removedItem = fruits.splice(pos, 1);
- 배열 복제
var shallowCopy = fruits.slice();
//=========================
* 검색- find() : 조건에 맞는 첫번째 값을 반환, 없으면 undefined
var array1 = [5, 12, 8, 130, 44];
var found = array1.find(function(element) {
return element > 10;
});
결과 = 12
- findIndex(): 조건에 맞는 원소의 인덱스(키)를 반환, 없으면 -1
* 조건 선택 : filter()
//글자수 6개이상만 선택
const result = words.filter(word => word.length > 6);
//배열 공백 없애기 (remove empty holes)
arr1 = arr1.filter(arr => arr != null);
//============================
* 배열 값 검사
- some()
- 하나라도 조건에 맞으면 true 반환
var array = [1, 2, 3, 4, 5];
var even = function(element) { return element % 2 === 0; };//짝수 찾기 콜백함수
console.log(array.some(even));//
- every()
- 모두가 조건에 맞아야 true 반환
- includes()
- 특정 요소가 포함되어있으면 true
//========================
* 정렬 - sort()
* 역순으로 재배열 - reverse()
* join() - 모든 요소를 연결해 하나의 문자열 만듬
//========================
* 합치기 : concat()
var array1 = ['a', 'b', 'c']; var array2 = ['d', 'e', 'f'];
console.log( array1.concat(array2) );
* 채우기 : fill()
var array1 = [1, 2, 3, 4];
//2부터 4를 0으로 채움
console.log(array1.fill(0, 2, 4)); // [1, 2, 0, 0]
console.log(array1.fill(6)); // [6, 6, 6, 6]
//==================================
* 배열 처리 : map()
//
const map1 = array1.map(x => x * 2);
* foreach()
- 배열 요소마다 주어진 함수를 실행
var array1 = ['a', 'b', 'c'];
array1.forEach(function(element) {
console.log(element);
});
// expected output: "a"
// expected output: "b"
// expected output: "c"
//===================================
* 하나의 값으로 만들기 : reduce()
const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => accumulator + currentValue;
console.log(array1.reduce(reducer)); //1 + 2 + 3 + 4 =10
console.log(array1.reduce(reducer, 5));// 초기값=5, 5 + 1 + 2 + 3 + 4
//============================
* 자르기 : slice()
animals.slice(2, 4));//2부터 4까지 자르기
* 배열 변환 : 제거, 추가, 변환 - splice()
- 자신을 변화시킴
- splice(start[, deleteCount[, item1[..);
//제거
arr.splice(3, 2);//[3]위치에 2개 삭제
//삽입
arr.splice(3, 0, 'val');//[3]위치에 삭제없이 'val' 삽입
//변환
arr.splice(3, 1, 'val');//[3]위치에 1개 삭제하고 'val' 삽입
//=============
flat() - 다중 중첩된 배열을 중첩되지 않은 배열로 만듬
- 중간 구멍도 메움
var arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, 4]
var arr4 = [1, 2, , 4, 5]; arr4.flat(); // [1, 2, 4, 5]
//====================
from() - 얕게 복사(분리시킴)
- Array.from(arrayLike[, mapFn[, thisArg]])
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]
//==========
entries() : 키/값 쌍을 가지는 새로운 Array Iterator 객체를 반환
var array1 = ['a', 'b', 'c'];
var iterator1 = array1.entries();
console.log(iterator1.next().value);
// expected output: Array [0, "a"]
//======
// 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array
반응형
'Code > JavaScript' 카테고리의 다른 글
[JavaScript] 이벤트 처리(전달, 전파) 방식 - 버블링, 캡쳐링 (0) | 2019.01.05 |
---|---|
[JavaScript] 정규식(Regular Expression) (0) | 2019.01.02 |
[JavaScript] 클로저(Closer) (0) | 2019.01.01 |
[JavaScript] for 루프 키워드 (0) | 2019.01.01 |
[JavaScript] Tips (0) | 2019.01.01 |