समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहले तर्क के रूप में एक संख्या लेता है और दूसरे तर्क के रूप में बूलियन।
बूलियन एक लीप वर्ष निर्दिष्ट करता है (यदि यह सत्य है)। इस जानकारी के आधार पर हमारे कार्य को वह तारीख वापस करनी चाहिए जो वर्ष के nवें दिन होगी।
उदाहरण
निम्नलिखित कोड है -
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));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
Feb, 29