-3
숫자 n과 함수 f를 취하여 함수 g를 반환하는 함수를 작성하십시오.JS 코드로 해결할 수 없음
g()를 호출하면 f()를 최대 n 회 호출합니다.
ex. 아래
function log() {
console.log('called log');
}
var onlyLog = only(3, log);
onlyLog(); -> outputs 'called log' to console
onlyLog(); -> outputs 'called log' to console
onlyLog(); -> outputs 'called log' to console
onlyLog(); -> does nothing
onlyLog(); -> does nothing
MY CODE :
toolbox.only = function(n, f) {
for (var i = 0; i <= n; i++) {
var called = false;
return function() {
if (!called) {
f();
called = true;
}
}
}
}
내 코드는 다음 시험을 통과하지 않습니다 : 전용 전화 (3, F) 3 회 이상()는 3 번 F를 호출해야합니다.
도움을 주시면 감사하겠습니다.
다음이 시도 내가 당신을 통해 문제를 생각하고 생각
음, 우선, '루프 내에서 return'ing하는 것을 종료 할 것 즉시 루프. 따라서 루프는 본질적으로 한 번만 실행됩니다. –
기본 사항부터 살펴 보겠습니다. 정말로 for 루프가 필요하다고 생각하십니까? 몇 번이나 여러 번 반복하고 있습니까? 왜 귀하의 코드는 한 번의 통화에서만 작동한다고 생각합니까? –
Oo, 나는 functionf를 n 번 호출하고 싶다고 생각했지만, 나는 그것을 잘못 읽었습니다. 내 루프가 루프를 돌리지 않는 이유를 알 수 있습니다. 나는 그것을 전혀 지적하지 않았다. 그것을 지적 해 주셔서 감사합니다. 내가 f 개의 함수를 n 번 출력하고 싶다면 그 코드가 어떻게 생겼는지 궁금하다. 왜냐하면 내가 풀려고했던 것이기 때문에 (왜냐하면 나는 그 질문을 잘못 읽었 기 때문이다) – Alex