jor*_*dan 0 javascript arrays reversing
想知道为什么我需要在数组长度上加4才能反向打印整个数组?
在我添加4之前它只是使用.length属性而且它只打印出6543.
提前致谢!
function reverseArray(array) {
var newArray =[];
for(var i = 0; i <= array.length+4; i++) {
newArray += array.pop(i);
}
return newArray;
}
var numbers = [1,2,3,4,5,6];
console.log(reverseArray(numbers));
Run Code Online (Sandbox Code Playgroud)
array.pop删除(并返回)最后一个元素.这会影响数组的长度.每次迭代都会检查长度,因此每次数组变得越来越短,循环就会提前结束.
你可以创建一个循环和弹出项目,直到它为空,但另一件需要考虑的是,它是你正在改变的原始数组.我认为一个函数reverseArray不应该改变numbers传递给它的数组,如果它返回另一个.因此,更好的解决方案是在不修改数组的情况下迭代所有项目的简单循环.
function reverseArray(array)
{
var newArray =[];
for (var i = array.length-1; i >= 0; i--) {
newArray.push(array[i]);
}
return newArray;
}
var numbers = [1,2,3,4,5,6];
console.log(reverseArray(numbers));
console.log(numbers); // Should be unaltered.Run Code Online (Sandbox Code Playgroud)
如果您不介意修改数组,可以使用reverse()数组的方法:
var numbers = [1,2,3,4,5,6];
numbers.reverse();
console.log(numbers);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |