我甚至不知道从这个循环开始

时间:2017-09-16 09:06:29

标签: javascript arrays loops for-loop

所以问题是:

创建一个名为'reversedLooper'的函数,该函数将传递一个参数,该参数将是一个数组。该函数将向后循环遍历数组并执行以下操作:

从最后一个元素中减去2

从第二个元素到最后一个元素减去1

从第3个到最后一个元素减去0

将一个添加到倒数第四个元素

将第二个添加到第五个。

继续增加1的数量,直到它到达数组的前面。

完成后返回修改后的数组

我真正知道的是创建一个基本循环并在所有循环中减去一个。我不知道如何专门访问倒数第二个元素或任何特定元素。我也不知道从哪里开始增加数量增加1.如果您对启动此问题有任何建议,请告诉我。

4 个答案:

答案 0 :(得分:1)

var array = [0,0,0,0,0,0,0,0,0,0,0,0,0,0];

var looper = function(arrayOfNumbers) {

    // number you'll start substracting with
    var substract = 3;

    // loop from last to first element in array
    for (var i = arrayOfNumbers.length - 1; i >= 0; i--) {

        // substract from i-th element
        arrayOfNumbers[i] -= substract;

        // decrease by 1
       substract--;
    }  

    return arrayOfNumbers;
}

// will output [ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3 ]
console.log(looper(array));

答案 1 :(得分:0)

你可以用以下方式做到这一点

function doOperation(arr){
    let x = arr.length -2;
    return arr.map(e => {
        x=x-1;
        return e+x;
    } )
}

console.log(doOperation([0, 0, 0, 0, 0]));

答案 2 :(得分:0)

尝试保留一个变量,其中包含要添加到数组的数量,最初将其设置为-2,然后在每次迭代循环时增加它。

答案 3 :(得分:0)

    function reversedLooper(array){
    var subtract=-2;
    for(var i=array.length-1;i>=0;i++){
        array[i]=array[i]+subtract
        subtract=subtract+1;
    }
  return array;
}