【发布时间】:2020-12-30 06:03:15
【问题描述】:
给定一个长度为 N 的数组。请开发函数reverseArray来反转数组
例如 输入:[1、2、3、4、5] 输出: 5 4 3 2 1
我的尝试如下:
function printArray (inputArray){
for(let i = 0; i < inputArray.length; i++){
console.log(inputArray[i]);
}
}
function reverseArray (inputArray){
for (var i = inputArray.length - 1; i >= 0; i--){
inputArray.push(inputArray[i]);
}
printArray(inputArray);
}
reverseArray([1, 2, 3, 4, 5]);
但结果是这样的: 1 2 3 4 5 5 4 3 2 1
谁能教我怎么解决,这个问题我纠结了2天
【问题讨论】:
-
使用新数组推送数据。
inputArray已经有 1 到 5,因此您获得了重复值。在reverseArray函数内部使用类似这样的东西,let newArr = [];然后在 for 循环内部使用newArr.push(inputArray[i]);然后printArray(newArr); -
问题陈述不明确。 “reverseArray to reverse the array”是否意味着数组必须就地反转或者您想要一个新数组?该名称也适用于您想要一个数组,但您给出的输出是一个字符串。
标签: javascript loops