take는 for의 break 조건에 해당한다. 이건 쉬우니까 빠르게~ function f3(limit, list){ let acc = 0; for(const a of L.map(a => a*a, L.filter(a => a % 2, list))){ acc += a; if(--limit == 0) break; } console.log(acc); } 여기에서 limit가 0이 되고면 멈추는 식인데, take를 활용한다면 function f4(limit, list){ let acc = 0; for(const a of L.take(limit, L.map(a => a*a, L.filter(a => a % 2, list)))){ acc += a; } console.log(acc); } 이런 식으로 가능하다. 종료..
JavaScript
map 함수는 자바에서 쓰이는 것과 같다. 다른 점이 있다면, 자바에서는 무조건 선언과 초기화를 해야 하지만 그렇지 않다는 것 정도? 조금 다른 점이 있다면, map을 사용하는 경우 Map()을 사용하면, 객체 배열을 순회해서 지정된 함수를 적용해 반환, 새로운 배열에 적용하게 된다. 예제를 보자면 다음과 같이 사용 가능하다 function mpnFn(numbers){ const item_01 = numbers.map(function(number){return number * number;}); const item_02 = numbers.map(number => number * number); const item_03 = []; for(const a of L.map(a => a*a, numbers)){ ..
함수형 프로그래밍은 fx.js를 이용해서 진행했다. 제이쿼리에 절여진 과거의 내가 그대로 멈춰있어서 익숙해지는데 한참 걸릴 것 같아 이것부터 차례로 남기기로 한다. 😂 선언과 클래스에 절여져서 아직도 어려움 애초에 (a, b) -> a + b 부터 으에엥 했는데 쉬울 리가 1. filter filter는 if문을 대체할 수 있다. if 대신 filter를 사용함으로 인해 배열을 가져오거나 할 대 시간복잡도를 줄일 수 있다. function f1(limit, list){ let acc = 0; for(const a of list){ if(a % 2){ const b = a * a; acc += b; if(--limit == 0) break; } } } 기존에 이러한 코드가 있다고 가정할 때, for문은 무..