如何在 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 ]
廣告