拆分一個數字陣列,把正數推送到一個 JavaScript 陣列中,把負數推送到另一個數組中?


我們必須編寫一個接收一個數組並返回一個具有兩個屬性的物件的函式,即 positive 和 negative。它們都應該是一個數組,分別包含陣列中所有的正項和負項。

這很簡單,我們將使用 Array.prototype.reduce() 方法來選擇所需的元素,並將它們放入一個包含兩個陣列的物件中。

舉例

const arr = [
   [12, -45, 65, 76, -76, 87, -98],
   [54, -65, -98, -23, 78, -9, 1, 3],
   [87, -98, 3, -2, 123, -877, 22, -5, 23, -67]
];
const splitArray = (arr) => {
   return arr.reduce((acc, val) => {
      if(val < 0){
         acc['negative'].push(val);
      } else {
         acc['positive'].push(val);
      }
      return acc;
   }, {
         positive: [],
         negative: []
      })
   };
   for(let i = 0; i < arr.length; i++){
   console.log(splitArray(arr[i]));
}

輸出

控制檯中的輸出將為 -

{ positive: [ 12, 65, 76, 87 ], negative: [ -45, -76, -98 ] }
{ positive: [ 54, 78, 1, 3 ], negative: [ -65, -98, -23, -9 ] }
{
   positive: [ 87, 3, 123, 22, 23 ],
   negative: [ -98, -2, -877, -5, -67 ]
}

更新於:21-Aug-2020

378 次瀏覽

開啟你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.