Giả sử chúng ta có một khoảng luôn bắt đầu từ 0 và kết thúc tại một số nguyên dương n, ký hiệu khoảng bằng mảng như sau:
const interval = [0, n];
Hoặc đơn giản hơn, vì我们知道 khoảng luôn bắt đầu từ 0, hãy ký hiệu khoảng chỉ bằng giới hạn trên:
const interval = n;
Chúng ta cần viết một hàm JavaScript nhận vào hai số làm đối số thứ nhất và thứ hai. Đối số đầu tiên đại diện cho khoảng bắt đầu từ 0 và kết thúc tại số đó. Số thứ hai xác định số lượng khoảng bằng nhau (nếu có thể) cần tạo ra trong khoảng thực tế.
Ví dụ: Nếu các đối số đầu vào là 3 và 2.
Thì khoảng thực tế là [0, 3] = [0, 1, 2, 3] và chúng ta phải chia thành 2 khoảng bằng nhau (nếu có thể).
Do đó, với các đầu vào này đầu ra sẽ là:
const output = [ [0, 1], [2, 3] ];
Lưu ý rằng giới hạn trên và dưới của các khoảng luôn là số nguyên.
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));Kết quả
Kết quả hiển thị trong console sẽ là:
[ [0, 1], [2, 3] ]