javascript 주요 메소드 목록 (업데이트 중)
17 Feb 2017 | javascript 메소드 method 함수배열 메소드 (Array)
map
설명
map() 메소드는 배열 내의 모든 요소 각각에 대하여 제공된 함수(callback)를 호출하고, 그 결과를 모아서 새로운 배열을 반환한다. 재구성
MDN
문법
arr.map(callback[, thisArg])
- callback : 새로운 배열 요소를 생성하는 함수로 다음 세 가지 인수를 가집니다.
- currentValue : 배열의 요소 중, 현재 처리되고 있는 요소
- index :현재 처리되는 요소의 배열 내 인덱스
- array : map 메소드가 적용되는 본래 배열
예시
배열에 들어있는 숫자들의 제곱근을 구하여 새로운 배열을 만들기
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots의 값은 [1, 2, 3]이 되지만, numbers는 그대로 [1, 4, 9]입니다.
숫자가 들어있는 배열을 인수가 있는 함수를 사용하여 재구성하기
var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
return num * 2;
});
// doubles is now [2, 8, 18]. numbers is still [1, 4, 9]
filter
설명
filter() 메소드는 제공된 함수로 구현된 테스트를 통과(true)하는 모든 요소가 있는 새로운 배열을 만든다. 조건 검색, 재구성
MDN)
문법
var new_array = arr.filter(callback[, thisArg])
예시
다음 예는 값이 10 이하인 모든 요소가 제거된 걸러진 배열을 만들기 위해 filter()를 사용한다.
function isBigEnough(value) {
return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered 는 [12, 130, 44]
JSON 오브젝트로 이루어진 배열중에 특정 값만 filter 시킬때 유용하다.
var arr = [
{"name":"apple", "count": 2},
{"name":"orange", "count": 5},
{"name":"pear", "count": 3},
{"name":"orange", "count": 16}
];
var newArr = arr.filter(function(item){
return item.name === "orange";
});
console.log("Filter results:",newArr); //
[{"name":"orange", "count": 5}, {"name":"orange", "count": 16}]
reduce
설명
배열의 모든 요소에 대해 지정된 콜백을 호출합니다.콜백 함수의 반환 값은 결과에 누적되며 다음에 콜백 함수를 호출할 때 인수로 제공됩니다. MDN
문법
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
return a.concat(b);
}, []);
// flattened is [0, 1, 2, 3, 4, 5]
예시
배열의 값 모두 더하기
var total = [0, 1, 2, 3].reduce(function(a, b) {
return a + b;
});
// total == 6
indexOf
설명
배열에서 특정 값이 있는지 검색
한다. 배열에서 지정된 요소를 찾을 수있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환한다. MDN
문법
arr.indexOf(searchElement)
arr.indexOf(searchElement, fromIndex)
예시
var a = [2, 9, 9];
a.indexOf(2); // 0
a.indexOf(7); // -1
if (a.indexOf(7) === -1) {
// 요소가 배열에 존재하지 않습니다.
}