[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