我必须创建一个函数power
。这就是一个基础和一个exp参数。根据num exp equals,我必须自己乘以基数。这是我的代码。
function power(base, exp) {
var nums = [];
var filter = 1;
for(var i = 0; i < exp; i++) {
nums.push(base);
}
for(var j = 0; j < nums.length; j++) {
var ele = nums[j];
filter * ele;
}
return filter;
}
power(5,6)
答案 0 :(得分:0)
您必须在每个步骤中更新filter
的值,如下所示:
filter = filter * ele;
或更紧凑:
filter *= ele;
顺便说一下,您不需要使用数组nums
。检查下面的代码片段,我在开头添加了一些验证逻辑,然后我们只有一个for语句。
function power(base, exp) {
if(isNaN(base) || isNaN(exp)) {
throw "Both base and exp should be numbers.";
}
if(base===0 && exp!==0){
return Infinity;
}
if(exp<0){
return 1/power(base, -exp);
}
if(exp===0){
return 1;
}
var power = 1;
for(var i=0; i<exp; i++){
power = power * base;
}
return power;
}
答案 1 :(得分:0)
以下是您的功能的简化版本:
function power(base, exp) {
return Math.pow(base, exp);
}
power(5,6);
甚至更简单,只需致电Math.pow
:
Math.pow(5, 6);