inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

jquery 함수들을 완전한 함수형 프로그래밍으로 바꾸려고 합니다.

294

이이도경

작성한 질문수 4

0

jquery 함수들을 완전한 함수형 프로그래밍으로 바꾸려고 합니다.

for loop같은 것들도 모두 함수로 고쳐보고 싶은데 제가 바꾸려는 것이   

 

  each: function( obj, callback ) {

            var length, i = 0;

 

            if ( isArrayLike( obj ) ) {

                length = obj.length;

                for ( ; i < length; i++ ) {

                    if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {

                        break;

                    }

                }

            } else {

                for ( i in obj ) {

                    if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {

                        break;

                    }

                }

            }

 

            return obj;

        },

이 함수인데 제가 생각하기엔 

 

  each: function( obj, callback ){

length = obj.length;

let fisrt_if = R.curry( 

    i=> {

        R.range(0,length).some(function(i){

                    if ( callback.call( obj[ i ], i, obj[ i ] ) === false )

                        return i;

                    }

                );

    });

 

let first_else = R.curry(

    i=>{

          R.keys(obj).some(function(i){

                    if ( callback.call( obj[ i ], i, obj[ i ] ) === false )

                        return i;

                        }

                );

    }

);

 

let arraylike = obj =>{

    if ( isArrayLike( obj ) ) 

        return true;

    else

        return false;

}

let main = 

    R.ifElse(

    x=> arrayLike(obj),

        first_if,

        first_else

    )

}

 

밑에 함수가 그럴싸해보이는데 어디가 틀린건지 알 수 있을까요 ?ㅠㅠ

함수형-프로그래밍 javascript

답변 3

0

MDU 유인동

아 문제가 많다기보다요.

조금 더 map, filter, reduce의 각각을 어느상황에 쓰는 것이 좋은지에 대한 연습이 필요하실 것 같습니다.

그래도 만드는 시도를 하시다보면 분명히 보이실 거라고 생각합니다.

감사합니다.

0

이이도경

최대한 남이 만든게 아닌 제가 직접 만들어보고 싶은데 제 코드는 너무 문제가 많은가요? ㅠㅠ

0

MDU 유인동

제가 최근에 구현한 each 함수는 아래와 같습니다.

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

ES6이 되면서 obj, arr를 모두 지원하는 each 보다는

'이터러블'을 지원하는 each가 더 좋다고 생각합니다.

감사합니다.

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