所以问题是:
创建一个名为'reversedLooper'的函数,该函数将传递一个参数,该参数将是一个数组。该函数将向后循环遍历数组并执行以下操作:
从最后一个元素中减去2
从第二个元素到最后一个元素减去1
从第3个到最后一个元素减去0
将一个添加到倒数第四个元素
将第二个添加到第五个。
继续增加1的数量,直到它到达数组的前面。
完成后返回修改后的数组
我真正知道的是创建一个基本循环并在所有循环中减去一个。我不知道如何专门访问倒数第二个元素或任何特定元素。我也不知道从哪里开始增加数量增加1.如果您对启动此问题有任何建议,请告诉我。
答案 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;
}