如何迭代数组并返回包含项目总和的新数组?

时间:2018-05-17 15:38:00

标签: javascript jquery

我的考试中有一个问题,我想知道如何在JavaScript中实现这一点。

问题 在战争期间,敌营已经在你的掩体中埋下了炸弹。你的线人已经向你发送了一个敌人的消息,其中包含一个有N个号码和一个键的列表。这些数字用于构造一个化解炸弹的序列。根据您的线人,从整个消息中提取序列的逻辑是将每个数字替换为下一个键号的总和。当key的值为负数时,该数字将替换为先前键号的总和。对于最后的关键数字,系列数字被循环考虑。

  

函数/方法的输入包含三个参数

     

size:表示列表大小(N)的整数   key:表示键的整数   message:表示整数列表。

     

输出:
  返回表示要解除的序列的整数列表   炸弹。

     

输入:
  消息= [4,2,-5,11]
  size = 4
  key = 3

     

步骤[2,-5,11] ==> 8
  步骤[-5,11,4] ==→10个
  步骤[11,4,2] ==> 17个
  步骤[4,2,-5] ==> 1

     

预期产出= [8,10,17,1]

function abc(size, key, arr) {
  var newArr = []
  for (var i = 0; i < size; i++) {
    var tem = 0;
    if (tem < key) {
      tem++
      sum = arr[tem]
    }

    newArr.push(sum)
  }

这是我的代码 https://jsfiddle.net/khh5sqyh/1/

任何更新?我们可以在javascript中创建吗

得到了那样的答案

var ms = [4, 2, -5, 11];
var size = 4,
  key = 3;

var newArr=[];
for (var i = 0; i < ms.length; i++) {
    sum=0;
    for(var j=1 ;j<=key ;j++ ){
      sum += ms[(i+j)%size];
  }
  newArr.push(sum);
}

console.log(newArr)

0 个答案:

没有答案