Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแบ่งช่วงตัวเลขเป็นช่วงย่อยจำนวนที่กำหนดใน JavaScript

สมมติว่ามีช่วงตัวเลขเริ่มจาก 0 ถึง n (จำนวนเต็มบวก) เราต้องเขียนฟังก์ชันที่รับสองพารามิเตอร์: ค่าสูงสุดของช่วง (interval) และจำนวนช่วงย่อยที่ต้องการ (num) ฟังก์ชันจะแบ่งช่วงหลักออกเป็นช่วงย่อยเท่าๆ กัน (ถ้าเป็นไปได้) และคืนอาร์เรย์ของช่วงย่อยเหล่านั้น

ตัวอย่าง: หากอินพุตคือ 3 และ 2 ช่วงหลักคือ [0, 3] = [0, 1, 2, 3] แบ่งเป็น 2 ช่วงจะได้:

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

ขอบเขตของช่วงย่อยจะเป็นจำนวนเต็มเสมอ

ตัวอย่างโค้ด

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

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

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