정수 배열 arr
과 필터링 함수 fn
가 주어질때, 필터링된 배열 filteredArr
를 리턴하라.
fn
은 아래와 같은 전달인자를 받는다.
arr[i]
: arr
의 숫자i
: arr[i]
의 인덱스filteredArr
은 반드시 fn(arr[i], i)
에 의해 truthy
한 값으로 평가되는 요소들만 포함해야한다.
filter
메소드를 사용하지 않고 해결하라.
Input: arr = [0,10,20,30], fn = function greaterThan10(n) { return n > 10; }
Output: [20,30]
Explanation:
const newArray = filter(arr, fn); // [20, 30]
The function filters out values that are not greater than 10
Input: arr = [1,2,3], fn = function firstIndex(n, i) { return i === 0; }
Output: [1]
Explanation:
fn can also accept the index of each element
In this case, the function removes elements not at index 0
Input: arr = [-2,-1,0,1,2], fn = function plusOne(n) { return n + 1 }
Output: [-2,0,1,2]
Explanation:
Falsey values such as 0 should be filtered out
var filter = function(arr, fn) {
const filteredArr = [];
for(let i=0; i<arr.length; i++) {
if(fn(arr[i], i)) filteredArr.push(arr[i])
}
return filteredArr;
};
filter
메소드를 사용하지 않고 풀라고 해서 for문을 이용하였다.
fn(arr[i], i)
가true
일 경우에만filteredArr
에 요소를 추가하도록했다.