Array = [ 1, 3, 7, 2 ]
1st Iteration = [ 1, 3, 7, 1 ]
2nd Iteration = [ 1, 3, 7, 0 ]
3rd Iteration = [ 1, 3, 6 ]
4th Iteration = [ 1, 3, 5 ]
所以&等等。。。
最终迭代应该是一个空的[]
我想创建一个循环,它取最后一个索引&在每次迭代中将该值递减1。当最后一个索引中的值=0时,它应该弹出…
如有任何帮助,我们将不胜感激。
我们可以使用while和Array.prototype.pop((.
function solution(array) {
while (array.length !== 0) {
while (array[array.length - 1] >= 1) {
array[array.length - 1] -= 1;
console.log(array);
}
array.pop();
console.log(array);
}
}
我认为这可能会帮助您。
const decrementLastIndex = (array) => {
let newArray = [];
for (let i = array.length - 1; i >= 0; i--) {
newArray.push(array[i]);
}
return newArray;
}
以下是实现这一目标的一种方法
function decrementElement(array){
while(array?.length !== 0){
let size = array.length;
let lastIndex = size - 1;
if(array[lastIndex] > 0) {
array[lastIndex] -= 1;
} else {
array.pop();
}
//printing the array
console.log(array);
}
};
我希望它能有所帮助:(如果你需要更多的帮助或有任何疑问,请回复。
您可以采用递归方法,首先检查最后一项。
function dec(array) {
if (!array.at(-1)) array.pop();
else array[array.length - 1]--;
console.log(...array);
if (array.length) return dec(array);
}
dec([1, 3, 7, 2]);
.as-console-wrapper { max-height: 100% !important; top: 0; }