我有以下问题:
// 反转数组
编写一个接受数组并就地反转该数组的函数。该行为应该模仿本机 .reverse() 数组方法的行为。但是,您的反向函数应该接受要作为参数进行操作的数组,而不是作为该数组上的方法来调用。
不要在您自己的实现中使用本机 .reverse() 方法。
我尝试了以下代码:
let myArray = [1, 2, 3, 4];
function reverse(myArray) {
let newArray = [];
// pop all of elements from roginal array, and store in new array
for (i=myArray.length-1; i>=0; i--){
newArray.push(myArray[i])
console.log(newArray)
}
while (newArray.length){
myArray.unshift(newArray)
}
return myArray;
}
reverse(myArray);
console.log(myArray) // expected output is [4, 3, 2, 1]
我的代码只是继续运行,并且没有生成 console.log 输出。请注意,我希望对输入数组参数执行相反的操作。
我究竟做错了什么?另外, while (newArray.length) 是什么意思/它在概念上做什么?
不知道为什么你需要unshift
您可以迭代并返回要推送值的数组
let myArray = [1, 2, 3, 4];
function reverse(myArray) {
let newArray = [];
for (i = myArray.length - 1; i >= 0; i--) {
newArray.push(myArray[i])
}
return newArray;
}
console.log(reverse(myArray))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)