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

Chia một dải số thành một số khoảng cụ thể JavaScript

Giả sử chúng ta có một khoảng luôn bắt đầu từ 0 và kết thúc ở một số nguyên dương n, hãy biểu thị khoảng bằng một mảng như thế này -

const interval = [0, n];

Hoặc đơn giản hơn, vì chúng ta biết rằng phạm vi sẽ luôn bắt đầu từ 0, hãy biểu thị khoảng thời gian chỉ bằng giới hạn trên.

const interval = n;

Chúng tôi được yêu cầu viết một hàm JavaScript có hai số làm đối số đầu tiên và đối số thứ hai.

Đối số đầu tiên đại diện cho một khoảng bắt đầu từ 0 và kết thúc tại số đó. Và số thứ hai xác định chúng ta phải tạo bao nhiêu khoảng bằng nhau (nếu có thể) giữa khoảng thời gian thực.

Ví dụ:Nếu các đối số đầu vào là 3 và 2.

Khi đó khoảng thực tế là [0, 3] =[0, 1, 2, 3] và chúng ta phải chia khoảng này thành 2 khoảng bằng nhau (nếu có thể)

Do đó, đối với những đầu vào này, đầu ra phải -

const output = [
[0, 1],
[2, 3]
];

Lưu ý rằng giới hạn trên và giới hạn dưới của khoảng luôn là số nguyên.

Mã cho điều này sẽ là -

Ví dụ

const getIntervals = (interval, num) => {
   const size = Math.floor(interval / num);
   const res = [];
   for (let i = 0; i <= interval;
   i += size) {
      const a = i == 0 ? i : i += 1;
      const b = i + size > interval ? interval : i + size;
      if (a < interval){
         res.push([a, b]);
      };
   };
   return res;
};
console.log(getIntervals(3, 2));

Đầu ra

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

[
[0, 1],
[2, 3]
]