inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트로 알아보는 함수형 프로그래밍 (ES5)

grep function 만들기 오류

334

이이도경

작성한 질문수 4

0

제가 jquery에 grep함수를 최대한 함수형 프로그래밍스럽게 바꾸고 있습니다.

제가 지금까지 시도한 결과는 아래와 같은데 이상하게 

```

my_grep([0,1,2,3], function(k){return k<3}, true)

```

이렇게 실행해보면   

```
evalmachine.<anonymous>:16 matches.push( elems[ p ] ); ^ TypeError: matches.push is not a function
```

이런 오류를 뱉어내는데, 이유를 도무지 모르겠습니다. 제 코드는 아래와 같습니다

```
function my_grep(elems, callback, invert) { var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; let fun = matches => { let r = R.range(0,length); let modify = R.curry( p=>{ let callbackInverse = !callback( elems[ p ], p ); if ( callbackInverse !== callbackExpect ) { matches.push( elems[ p ] ); } } ); R.map(modify,r); return matches; }; fun(length); }
```

원래 동작의 의도는 invert가 true면 callback인자의 조건이 false인 배열을 elems중에서 걸러내서 리턴하는 것 같습니다.

javascript 함수형-프로그래밍

답변 1

0

MDU 유인동

제가 grep 함수를 잘 모르는데, 잠시 보니 filter와 reject을 하나의 함수로 구현한 함수인거 같은데요.

그게 맞다면 아래 코드를 참고해주세요.

https://github.com/marpple/FxJS/blob/master/filter.js

https://github.com/marpple/FxJS/blob/master/reject.js

 

FxTS를 이용한 함수형 프로그래밍에 대해 궁금한점이 있습니다.

1

292

1

안녕하세요. 유인동님 함수형 프로그래밍 2편을 구매했는데

0

351

2

_go함수 _pipe.apply(null, fns) 사용하는 이유

0

404

2

커리큘럼 관련 질문 입니다.

0

347

2

ES5 강의를 듣고 ES6 강의를 듣는게 좋을까요?

0

861

2

_get 함수 부분이 너무 이해가 안갑니다 ㅠ

0

656

2

거르기 함수 중 compact 질문드립니다.

0

475

1

강의 잘봤습니당

0

452

1

다형성 파트 _each함수 내부 코드 관련 질문

0

323

1

FP 함수 표준이 있는지 궁금합니다.

0

365

2

_curryR 을 적용한 _map 혹은 _filter함수 질문입니다!!

0

451

4

_reduce 질문 있습니다!

0

388

1

0:24 평가시점

0

254

2

10:18 아무래도 클로저가 리스프? 다 보니까

0

308

1

평가시점이 뭐에요? 16:30초 부터

0

367

1

강의자료

0

291

1

pipe 함수에 질문있습니다

0

284

1

대입문

0

343

1

Call을 사용하는 이유

0

287

1

좋은 강의 감사합니다.

0

274

1

순수함수에 대해서 질문있습니다.

0

427

1

13:40 _filter함수 질문

0

279

1

소스 내 변수형

0

225

1

Apply와 Call의 차이

0

230

1