Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để chỉ lấy n% đầu tiên của một mảng trong JavaScript?

Chúng ta được yêu cầu viết một hàm nhận vào một mảng arr và một số n từ 0 đến 100 (cả hai đều bao hàm) và trả về phần n% của mảng. Giống như nếu đối số thứ hai là 0, chúng tôi đặt giả thiết là một mảng trống, mảng hoàn chỉnh nếu nó là 100, một nửa nếu 50, tương tự như vậy.

Và nếu đối số thứ hai không được cung cấp, nó phải mặc định là 50. Do đó, mã cho đối số này sẽ là -

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   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 ]