如何在 JavaScript 中僅獲得陣列前 n% 的資料?


我們需要編寫一個函式,該函式接受一個數組 arr 和一個數字 n(介於 0 和 100(含)之間),並返回陣列的 n% 部分。例如,如果第二個引數為 0,我們應該預料一個空陣列,如果是 100 則為完整陣列,如果是 50 則為一半,等等。

如果未提供第二個引數,則其預設值應為 50。因此,程式碼如下所示:

例項

const numbers = [3,6,8,6,8,4,26,8,7,4,23,65,87,98,54,32,57,87];
const byPercent = (arr, n = 50) => {
   const { length } = arr;
   const requiredLength = Math.floor((length * n) / 100);
   return arr.slice(0, requiredLength);
};
console.log(byPercent(numbers));
console.log(byPercent(numbers, 84));
console.log(byPercent(numbers, 34));

輸出

控制檯中的輸出將為:

[
   3, 6, 8, 6, 8,
   4, 26, 8, 7
]
[
   3, 6, 8, 6, 8, 4,
   26, 8, 7, 4, 23, 65,
   87, 98, 54
]
[ 3, 6, 8, 6, 8, 4 ]

更新於:2020 年 8 月 20 日

189 次觀看

開啟你的 職業生涯

完成課程以獲得認證

入門
廣告