ECMAScript5 (ES5) - Array 메서드
Java의 스트림과 비슷함
● Array.isArray(객체명) : 객체의 배열여부 확인
● Array.filter( function([value, index, object])) ) : 조건(콜백함수)을 만족하는 요소를 추출해 배열 생성
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
array = array.filter(function (element, index, array) {
return element <= 5;
});
● Array.forEach( function ([value, index, object])) ) :array의 원소를 순서대로 돌면서 콜백함수 실행 (=for in 반복문)
- 원소의 값은 value, 인덱스는 index로 불러와서 콜백함수에서 사용할 수 있음
let array = [1, 2, 3]
array.forEach( function(v) {
console.log(v)
}
> 1 2 3
● array.map( function([value, index, object])) :array의 원소를 순서대로 돌면서 콜백함수를 실행 한 후 결과를 배열로 반환
let array = [1, 2, 3]
let mappedArray = array.map( function(v) {
return v*2;
}
console.log(mappedArray)
> 2 4 6
● Array.every() : 조건을 모두 만족하는지 확인
● Array.some() : 조건을 적어도 하나 만족하는지 확인
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function lessThanFive(element, index, array) {
return element < 5;
}
function lessThanTwenty(element, index, array) {
return element < 20;
}
let output1 = array.every(lessThanFive); // false (모두 5보다 작은지)
let output2 = array.every(lessThanTwenty); // true (모두 20보다 작은지)
let output3 = array.some(lessThanFive); // true (하나라도 5보다 작은지)
let output4 = array.some(lessThanTwenty); // true (하나라도 20보다 작은지)
● Array.indexOf() : 특정 요소를 앞에서부터 찾아서 index 출력, 없으면 -1
● Array.lastIndexOf(): 특정 요소를 뒤에서부터찾아서 index 출력, 없으면 -1
let array = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1];
let output1 = array.indexOf(1); // 0
let output2 = array.indexOf(8); // -1
let output3 = array.lastIndexOf(1); // 9
let output4 = array.lastIndexOf(8); //-1