for문을 higher order function으로 바꾸려는데 map이랑 filter사용에 어려움이있습니다

for문을 higher order function으로 바꾸려는데 map이랑 filter사용에 어려움이있습니다

QA

for문을 higher order function으로 바꾸려는데 map이랑 filter사용에 어려움이있습니다

답변 3

본문

for문을 higher order function으로 바꾸려는데 map이랑 filter사용에 어려움이있습니다


for ( ; i < len; i++ ) {
    selector += tokens[i].value;
}

 

이 코드를 제가 바꾸기에


let filter2309 = R.filter(
    i => {
        i<len
    },this
);
R.map(
    i => {
        selector += tokens[i].value;
    }, filter2309
);

이렇게 바꾸었는데 처음 해보는거라 전혀 감이 안옵니다

우선 this가 정확히 무엇인지 모르겠습니다. 구글링해봤는데 caller의 stack안에 있는걸 우선적으로 참조? 한다는 느낌으로 알고 있는데 잘 모르겠습니다.

 

그리고 궁금한게 원래 for문에서 i를 1씩 증가시켜주고있는데 제 코드에선 i를 증가시키지 않고 있나요?

그렇다면 filter와 map을 이용해서 어떻게 higher-order function으로 i를 1씩 증가시키나요?

이 질문에 댓글 쓰기 :

답변 3

map에 대한 내용 아래를 참조하시고

 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map#for..of%EB%A1%9C_Map_%EC%88%9C%ED%9A%8C%ED%95%98%EA%B8%B0

 

this도 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this

 

그런데 위의 예제에서 this는 어떤 것인지는 전체 예제을 봐야 될것 같습니다.

 

 

for ( ; i < len; i++ ) { // 여기가 이상하군요...
    selector += tokens[i].value;
}

 

보통

 

for (i=0 ; i < len; i++ ) { // 이런식으로 i 값을 선언하는데 말입니다.
    selector += tokens[i].value;
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 24
© SIRSOFT
현재 페이지 제일 처음으로