Javascript 反转阵列-了解解决方案
我一直在研究雄辩的JS,无法解决“反转数组”的问题 该问题有一些参数,例如无法使用arr.reverse。无论如何,在适当的位置反转同一阵列的解决方案让我措手不及,我正在寻找人帮助打破它Javascript 反转阵列-了解解决方案,javascript,arrays,Javascript,Arrays,我一直在研究雄辩的JS,无法解决“反转数组”的问题 该问题有一些参数,例如无法使用arr.reverse。无论如何,在适当的位置反转同一阵列的解决方案让我措手不及,我正在寻找人帮助打破它 function reverseArrayInPlace(arr) { var length = (Math.floor(arr.length))/2; for (var i = 0; i < length; i++) { var old = arr[i]; arr[i] = a
function reverseArrayInPlace(arr) {
var length = (Math.floor(arr.length))/2;
for (var i = 0; i < length; i++) {
var old = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = old;
}
return arr;
}
功能反转arrayinplace(arr){
变量长度=(数学楼层(arr.length))/2;
对于(变量i=0;i
我觉得这就是故障:
function reverseArrayInPlace(arr) {
var length = (Math.floor(arr.length))/2;
for (var i = 0; i < length; i++) {
var old = arr[i]; // var old now equals 1
arr[i] = arr[arr.length - 1 - i]; // 5 - 1 - 0 = 4. Arr[i] = 4
arr[arr.length - 1 - i] = old; // 4th position of arr = 1
// new arr is 4,2,3,1,5 ?
}
return arr;
}
var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log(arrayValue);
功能反转arrayinplace(arr){
变量长度=(数学楼层(arr.length))/2;
对于(变量i=0;i
这个解决方案是有效的,所以我的逻辑显然是错误的。我哪里做错了 正如波蒂在评论中指出的那样:
数组索引从零开始,因此
arr[4]
是5
,而不是4
正如波蒂在评论中指出的那样:
数组索引从零开始,因此
arr[4]
是5
,而不是4
数组索引从零开始,所以
arr[4]
是5
,而不是4
。噢,哇,我真傻。我被甩了,因为长度是5减去1。不过,现在这很有道理。感谢manArray索引从零开始,所以arr[4]
是5
,而不是4
。哇,我真傻。我被甩了,因为长度是5减去1。不过,现在这很有道理。谢谢你,伙计