on
[Javascript] filter() method
[Javascript] filter() method
filter() method
형태: arr.filter(callback function(element, index, array)
원본 배열의 요소 중 주어진 callback 함수의 테스트를 통과하는 모든 요소를 모아서 새로운 배열로 반환
원본 배열의 어떠한 요소도 테스트를 통과하지 못 한 경우 빈 배열 반환
원본 배열에는 영향을 미치지 않음
callback function → 각 요소를 시험할 함수로, true를 반환하면 요소를 유지 하고, false를 반환하면 버림
하고, element → 현재 처리할 요소
index (optional) → 현재 처리할 요소의 인덱스
array (optioanl) → filter를 호출할 배열
callback 함수는 할당된 값이 있는 인덱스에서만 호출됨
var arr = [ { id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }, { }, { id: null }, { id: NaN }, { id: 'undefined' } ]; var invalidEntries = 0; function isNumber(obj) { return obj !== undefined && typeof(obj) === 'number' && !isNaN(obj); } function filterByID(item) { if (isNumber(item.id) && item.id !== 0) { return true; } invalidEntries++; return false; } var arrByID = arr.filter(filterByID); console.log('Filtered Array
', arrByID); // Filtered Array // [{ id: 15 }, { id: -1 }, { id: 3 }, { id: 12.2 }] console.log('Number of Invalid Entries = ', invalidEntries); // Number of Invalid Entries = 5
from http://zubetcha.tistory.com/53 by ccl(A) rewrite - 2021-11-12 01:27:56