我是一名 JavaScript 初学者,我编写了下面的代码片段,在我看来应该返回一个数组:[5, 4, 3, 2, 1],但它却返回 [5]。我意识到有更好的方法来实现结果,但我试图理解的是为什么我的解决方案不起作用。
function reverseArray(array) {
for (var i = 3; i >= 0; i--)
array.concat(array.slice(i,i+1));
for (var i = 3; i >= 0; i--)
array.shift();
return array;
};
var arrayValue = [1, 2, 3, 4, 5];
reverseArray(arrayValue);
console.log(arrayValue);
// JS Bin returns: [5]
shift 方法似乎有效,但 concat/slice 代码似乎没有改变数组。为什么不?当我作为独立代码测试该行时,它工作正常。任何解释将不胜感激。谢谢!
最佳答案
关于包含数组方法的 JavaScript 函数未返回所需结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39540616/