簡體   English   中英

反向數組功能在javascript中不起作用

[英]reverse array function doesn't work in javascript

我想在不使用內置方法的情況下反轉數組,但是以下功能不起作用:

function reverseArray(arr) {
  let brandNewArray = [];

  for (let i = arr.length - 1; i >= 0; i--) {
    brandNewArray += arr[i];
  }

  return brandNewArray;
}


reverseArray([1,2,3]);

使用push功能代替+=

 function reverseArray(arr) { let brandNewArray = []; for (let i = arr.length - 1; i >= 0; i--) { brandNewArray.push(arr[i]); } return brandNewArray; } console.log(reverseArray([1,2,3])); 

而不是+=您需要將項目推入其中。 第一次使用+=將為brandNewArray分配一個字符串(如[] + 1將為您提供"1" ),並帶有最后一項的值。 然后進行字符串串聯,您得到321作為brandNewArray的最終值而不是數組。

 function reverseArray(arr) { let brandNewArray = []; for (let i = arr.length - 1; i >= 0; i--) { brandNewArray.push(arr[i]); } return brandNewArray; } console.log(reverseArray([1,2,3])) 

您也可以使用更緊湊的代碼版本

 const reverseArray = arr => arr.reduce((acc, cur) => (acc.unshift(cur), acc), []); console.log(reverseArray([1,2,3])) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM