สมมติว่าเรามีช่วงเวลาที่เริ่มต้นจาก 0 เสมอและสิ้นสุดที่จำนวนเต็มบวก n ให้แสดงช่วงเวลาด้วยอาร์เรย์แบบนี้ -
const interval = [0, n];
หรืออย่างง่ายๆ เนื่องจากเรารู้ว่าช่วงจะเริ่มต้นที่ 0 เสมอ ให้ระบุช่วงเวลาด้วยขีดจำกัดบนเท่านั้น
const interval = n;
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขสองตัวเป็นอาร์กิวเมนต์ตัวแรกและตัวที่สอง
อาร์กิวเมนต์แรกแสดงถึงช่วงเวลาที่เริ่มต้นจาก 0 และสิ้นสุดที่ตัวเลขนั้น และตัวเลขที่สองเป็นตัวกำหนดจำนวนช่วงที่เท่ากัน (ถ้าเป็นไปได้) ที่เราต้องสร้างระหว่างช่วงเวลาจริง
ตัวอย่างเช่น หากอาร์กิวเมนต์อินพุตเป็น 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] ]