जावास्क्रिप्ट में दोहराए जाने वाले ऑपरेशनों का अनुकूलन
अक्सर शुरुआती प्रोग्रामर बेमन से एक ही फ़ंक्शन को कई बार कॉल करते हैं, संसाधनों को बर्बाद करते हैं।
आइए एक उदाहरण देखें। मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें कुछ पथ शामिल है:
javascriptlet path = 'img.png';
मान लीजिए हमारे सामने यह जांचने का कार्य है,
क्या पथ एक्सटेंशन पर समाप्त होता है
.png या .jpg। कुछ
शुरुआती प्रोग्रामर ने निम्नलिखित
समाधान लिखा:
javascriptlet path = 'img.png';
if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
इस समाधान में क्या गलत है? समस्या यह है,
कि विधि slice दो बार कॉल की जाती है,
एक ही काम करते हुए। यह, निश्चित रूप से,
इष्टतम नहीं है।
अनुकूलन के लिए स्ट्रिंग को काटने का कार्य एक बार करना होगा, परिणाम को एक चर में लिखना होगा, और फिर इस चर का उपयोग आगे करना होगा:
javascriptlet path = 'img.png';
let ext = path.slice(-4);
if (ext === '.png' || ext === '.jpg') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
नीचे दिए गए कोड को अनुकूलित करें:
javascriptlet num = 123;
if (String(num)[0] === '1' || String(num)[0] === '2') {
console.log('+++');
} else {
console.log('---');
}
Задание 2
नीचे दिए गए कोड को अनुकूलित करें:
javascriptlet date = new Date();
if (date.getDay() === 0 || date.getDay() === 6) {
console.log('weekend');
} else {
console.log('weekday');
}
Задание 3
नीचे दिए गए कोड को अनुकूलित करें:
javascriptlet date = new Date();
let res;
if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) {
res = 'year ' + date.getFullYear() + ' fits';
} else {
res = 'year ' + date.getFullYear() + ' doesn't fit';
}
console.log(res)