Я считаю, что я решил эту проблему, но имею проблему, передающую только один параметр моей конечной функции для возврата результата. Вот вопросКак вернуть функцию, которая нуждается в 2 параметрах с 1
Например, рассмотрим функцию getDouble. Когда вы запускаете дважды значение 3, вы получаете 12, как показано ниже.
getDouble(3) => 6
getDouble(6) => 12
Назовем новую функцию createIterator, и мы должны быть в состоянии получить тот же результат, используя createIterator, как показано ниже:
var doubleIterator = createIterator(getDouble, 2); // This means, it runs *getDouble* twice
doubleIterator(3) => 12
Для простоты все функциональные входы createIterator будет функции, возвращающие небольшое число, и количество итераций всегда будут целыми числами.
Вот мой ответ:
function getDouble(num){
newNum = num * 2
return newNum
}
var createIterator = function (func, n) {
var results = [];
var result;
result = func;
results.push(func);
for(var i = 0;i < n - 1; i++){
results.push(results[i] * 2);
}
return results;
};
// var doubleIterator = createIterator(getDouble(3),2).slice(-1).pop();
Вот функция, что я пытаюсь сделать, чтобы иметь только один вызов. Все работает правильно выше, но я должен быть в состоянии представить весь этот ответ только проходящее один параметр эту функцию:
function doubleIterator(d){
// var n;
// createIterator.call(this,n)
return createIterator(getDouble(d),n).slice(-1).pop();
}
console.log(doubleIterator);
вы можете использовать apply вместо вызова, так как apply принимает массив как его параметр – Geeky