【问题标题】:Javascript - multiply elements in an array by their positionJavascript - 将数组中的元素乘以它们的位置
【发布时间】:2016-07-24 15:24:25
【问题描述】:

如何将数组中的元素乘以它们在数组中的位置?

例如,

我要取这个数组中的元素

var multiply = [2, 4, 6, 7]

基本上是 (2*1+4*2+6*3+7*4)。

我知道我需要使用 for 循环,但我不知道如何编写它来获得该结果。

谢谢!

【问题讨论】:

  • 那么如何遍历一个数组呢?如何将一个数字与另一个数字相加并将结果存储到变量中?
  • 您需要尝试一些代码才能在这里提问。 Stack Overflow 是为了帮助,而不是家庭作业的答案。
  • var arr = [2, 4, 6, 7], multiplied = arr.map((v,i) => v * (i+1)), sum = multiplied.reduce((a,b) => a + b, 0);

标签: javascript arrays


【解决方案1】:

这样做,但尝试了解它是如何工作的:
我已经替换了数组中的旧值。
因此,multiply 在本例中更改为新值。

var multiply = [2, 4, 6, 7];

multiply.forEach(function(e, i) {
  multiply[i] = e * ++i;
})

document.write(JSON.stringify(multiply)); // output: [2,8,18,28]

【讨论】:

    【解决方案2】:

    您可以使用以下内容:

    multiply.map(function(v, i){
      return v * (i+1);
    });
    

    您可以将它分配给一个变量或对它执行任何您需要的操作(因为返回了一个新数组)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多