我正在尝试以增量方式获取每个元素的功效,即对于输入x = [6,9,5]我希望我的输出为y = [6², 9³, 5⁴],功效从给定的变量p开始。

我的代码:

var sqr = [];
var n = [6,9,5];
var p = 2;
 for (let i = 0; i < n.length; i++) {
      for (let j = p; j < n.length + 1; j++) {
        sqr.push(Math.pow(n[i],j));
        console.log(sqr);
        i++;
     }
return sqr;


它可以工作,但是永远不会执行最后一个元素,具体取决于数组和/或p的大小(我知道这是因为它会转到不存在的索引)。但是我想知道是否有更好的方法可以工作。谢谢

最佳答案

您只需要使用一个循环。您可以在循环内增加功率p



var sqr = [];
var n = [6,9,5];
var p = 2;
for (let i = 0; i < n.length; i++) {
    sqr.push(Math.pow(n[i],p));
    p++;
}
console.log(sqr);

10-08 20:28