Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số làm đối số đầu tiên và boolean làm đối số thứ hai.
Boolean chỉ định năm nhuận (nếu đúng). Dựa trên thông tin này, hàm của chúng tôi sẽ trả về ngày rơi vào ngày thứ chín trong năm.
Ví dụ
Sau đây là mã -
const day = 60; const isLeap = true; const findDate = (day = 1, isLeap = false) => { if(day > 366){ return undefined; }; const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; const days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; if(isLeap){ days[1]++; }; let i = -1, count = 0; while(count < day){ i++; count += days[i]; }; const upto = days.slice(0, i).reduce((acc, val) => acc + val); const month = months[i]; const d = count - upto; return `${month}, ${d}`; }; console.log(findDate(day, isLeap));
Đầu ra
Sau đây là đầu ra của bảng điều khiển -
Feb, 29