如何创建一个反向数组函数?

问题描述 投票:-1回答:1

我想写一个函数 reverseArray(),它接收一个数组作为参数,并返回一个新的数组,其中的元素以相反的顺序排列(而不使用内置方法).

谁能帮我看看我这里做错了什么?当我运行下面的代码时,它返回1。

const reverseArray=array=> {
let newArray=[];
for (let i=array.length-1 ; i>=0; i--){
return newArray.push(array[i])}
};

const array = ['sense.','make', 'all', 'will', 'This'];
console.log(reverseArray(array));
javascript arrays
1个回答
2
投票

你要返回的结果是 Array.push() 循环的第一个实例。根据MDN: Array.push() 返回。

方法被调用的对象的新长度属性。

https:/developer.mozilla.orgen-USdocsWebJavaScriptReferenceGlobal_ObjectsArraypush。

所以它是将一个元素推送到数组中,然后返回数组的长度(1)。

相反,在for循环中把所有元素加到数组中,然后返回数组本身。

const reverseArray = arr => {
  let newArr=[]
  for (let i=arr.length-1; i>=0; i--){
     newArr.push(arr[i])
  }
  return newArr
}

const arr = ['sense.','make', 'all', 'will', 'This']
console.log(reverseArray(arr))
© www.soinside.com 2019 - 2024. All rights reserved.