【发布时间】:2014-12-11 21:33:02
【问题描述】:
在下面的代码中,我不明白为什么 reverseArrayOne 与 reverseArrayTwo 相比不返回反转数组。本质上,我相信在这两种情况下我都将 reversedArray 分配给 Array 。链接到问题http://eloquentjavascript.net/04_data.html#c_F3JsLaIs+m
function reverseArray(array) {
reversedArray = [];
for (i=array.length-1; i>=0; i--) {
reversedArray.push(array[i]);
}
return reversedArray;
}
function reverseArrayOne(array) {
array = reverseArray(array);
return array;
}
function reverseArrayTwo(array) {
reversedArray = reverseArray (array);
for (i=0; i<reversedArray.length; i++) {
array[i] = reversedArray[i];
}
return array;
}
var arrayValue = [1, 2, 3, 4, 5];
reverseArrayOne(arrayValue);
console.log(arrayValue);
// → [1,2,3,4,5]
reverseArrayTwo(arrayValue);
console.log(arrayValue);
// → [5, 4, 3, 2, 1]
【问题讨论】:
-
这个练习很傻,因为你可以使用
Array.reverse()。 -
@adeneo:嗯,这是一个练习。
标签: javascript arrays arguments global-variables scoping