Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> सॉफ्टवेयर

9 JavaScript/Node.js वन-लाइनर्स जो आपको पता होने चाहिए

जैसे-जैसे वेब और एप्लिकेशन अधिक जटिल होते जा रहे हैं, JavaScript और Node.js एक डेवलपर के प्रदर्शनों की सूची में तेजी से आम आवश्यकताएं बन रहे हैं। अपने कोड-फू को बेहतर बनाने और आपके सामने आने वाली परेशानियों को कम करने के लिए, आप अपने कोड में कुछ फ़ंक्शन जल्दी परिभाषित कर सकते हैं जो सरल कार्यों को त्वरित रूप से पूरा करते हैं।

ध्यान दें कि Javascript, Java के समान नहीं है। अंतर यहां देखें।

1. एक सरणी में मानों को शफ़ल करें

ताश के पत्तों की डेक को फेंटने की तरह, आप JavaScript में इस वन-लाइनर के साथ जितनी बार चाहें एक सरणी में मानों को फेंट सकते हैं:

const shuffleArray = (arr) => arr.sort(() => 0.5 - Math.random());

ताश के पत्तों की डेक की सादृश्यता को ध्यान में रखते हुए, यदि मैं 52 मानों को फेंटना चाहूं तो यह ऐसा दिखेगा:

let myarray = Array.from({length:52}, (v,k) => k+1); console.log(shuffleArray(myarray));

कोड को आपके कंसोल आउटपुट में बेतरतीब ढंग से जंबल्ड मान दिखाने चाहिए।

2. जांचें कि कोई तारीख सप्ताहांत या सप्ताह के दिन पर पड़ती है या नहीं

एक साधारण शेष ऑपरेंड का उपयोग करके, आप आसानी से जांच सकते हैं कि कोई दिन JavaScript में सप्ताहांत पर पड़ता है या नहीं:

const isWeekend = (date) => date.getDay() % 6 == 0;

यदि आप इसे बदलना चाहते हैं कि क्या प्रश्न वाला दिन सप्ताह के दिन पर पड़ता है, तो बस अंतिम तुलना को उल्टा करें:

const isWeekday = (date) => date.getDay() % 6 !== 0;

निम्न कोड में, मैं जांचता हूं कि आज सप्ताहांत पर है या नहीं:

console.log(isWeekend(new Date()));

अलग isWeekday या isWeekend वेरिएबल को परिभाषित करने के विकल्प के रूप में, आप NOT ऑपरेंड का उपयोग करते हुए किसी भी वेरिएबल के लिए if-then-else स्टेटमेंट व्यक्त कर सकते हैं जैसे:

if (!isWeekend(new Date())) { console.log("Today falls on a weekday."); } else { console.log("Today falls on a weekend."); }

3. एक संख्या को एक विशिष्ट दशमलव बिंदु पर काटें

आप अपने उपयोगकर्ताओं को जो आउटपुट देते हैं वह यथासंभव सरल होना चाहिए और कोई भी चीज़ आपकी साइट या ऐप को एक विशाल गड़बड़ संख्या स्ट्रिंग देखने से ज्यादा अनाकर्षक नहीं बनाती। एक संख्या में कम महत्वपूर्ण दशमलव बिंदुओं को काटकर और इसे उपयोगकर्ता को वैसे ही प्रदर्शित करने के लिए, इस काम की परिभाषा को लें:

const decimalFormat = (n, places) => ~~(Math.pow(10, places) * n) / Math.pow(10, places);

इसे टेस्ट करने के लिए, मैं एक हास्यास्पद मात्रा में दशमलव स्थानों के साथ एक संख्यात्मक मान परिभाषित करता हूं और इसे दो दशमलव स्थानों तक काटने के लिए इस त्वरित फ़ंक्शन को कॉल करता हूं।

let deciwow = 299.39542014592 console.log(decimalFormat(deciwow, 2));

परिणाम कम आंखों का दर्द होना चाहिए।

4. तापमान परिवर्तित करें

JavaScript में सेल्सियस से फारेनहाइट के बीच परिवर्तित करने का कोई मानकीकृत तरीका नहीं है, लेकिन दो सरल वन-लाइनर्स के साथ, आप अपना खुद का मानक बना सकते हैं।

सेल्सियस से फारेनहाइट के लिए:

const cToF = (celsius) => celsius * 9/5 + 32;

और फारेनहाइट से सेल्सियस के लिए:

const fToC = (fahrenheit) => (fahrenheit - 32) * 5/9;

मेरे शहर में तापमान -2 डिग्री सेल्सियस है। सेल्सियस से फारेनहाइट रूपांतरण वन-लाइनर का उपयोग करके हम पता लगा सकते हैं कि यह अमेरिका में रहने वाले किसी व्यक्ति के लिए क्या मायने रखता है:

cToF(-2);

वह अभिव्यक्ति 28.4 डिग्री फारेनहाइट का तापमान देती है।

5. जांचें कि कोई डार्क मोड का उपयोग कर रहा है या नहीं

यदि आप चाहते हैं कि आपके द्वारा प्रदर्शित सामग्री आपके कोड का उपयोग करने वाले व्यक्ति की कलर स्कीम का सम्मान करे, तो JavaScript में यह पता लगाने का एक तरीका शामिल है कि कोई डार्क मोड का उपयोग कर रहा है या नहीं ताकि आप रंगों को तदनुसार समायोजित कर सकें। विधि लिखने में थोड़ी जटिल है, लेकिन आप इसे इस वन-लाइनर का उपयोग करके छोटा कर सकते हैं:

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;

इस वेरिएबल का उपयोग करके जांच का एक उदाहरण यहां दिया गया है:

if (isDarkMode) { console.log("This screen is in dark mode."); } else { console.log("This screen is not using dark mode."); }

ध्यान दें कि यह कोड केवल ब्राउज़र के लिए JavaScript में काम करता है। Node.js window के लिए समर्थन लागू नहीं करता है।

6. संख्याओं की एक सरणी का औसत प्राप्त करें

डेटासेट्स के साथ काम करते समय, JavaScript में सरणियों से जुड़ा एक आसान फ़ंक्शन होता है जो एक विशेष टेबल के सभी मानों का योग प्राप्त करने के लिए आवश्यक अंकगणित करने देता है फिर इन नंबरों को टेबल की लंबाई से विभाजित करता है। इसे एक लाइन कोड में सुंदरता से करने के लिए, आपको केवल यह करने की आवश्यकता है:

const getAverage = (arr) => arr.reduce((a, b) => a + b, 0) / arr.length;

यहां मैं एक डेटासेट बनाता हूं और इसके सभी मानों का औसत कंसोल के माध्यम से निकालता हूं:

let dataset = [2, 14, 88, 204, 1515, 1294, 12, 144]; console.log(getAverage(dataset));

इस कोड का उपयोग करके, आपका आउटपुट 409.125 होना चाहिए।

7. एक UUID जनरेट करें

यदि आप अपने एप्लिकेशन का उपयोग करने वाले लोगों से आंकड़े और डेटा एकत्र करना चाहते हैं (उदाहरण के लिए, एक कुकी जनरेट करके), तो आक्रामक हुए बिना ऐसा करने के सर्वोत्तम तरीकों में से एक सार्वभौमिक रूप से अद्वितीय पहचानकर्ता (UUID) जनरेट करना है। JavaScript में RFC4122-अनुपालक UUIDs जनरेट करने का कोई आसान तरीका शामिल नहीं है (हालांकि Node.js में uuid npm पैकेज है जो इस कार्यक्षमता को बॉक्स से बाहर प्रदान करता है)।

JS में, आप इस वन-लाइन अभिव्यक्ति के साथ अपने उपयोगकर्ताओं के लिए एक ताज़ा UUID निकाल सकते हैं:

const genUUID = (a) => (a ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, genUUID));

यहां, मैं आउटपुट का टेस्ट करता हूं:

console.log(genUUID());

8. दो तारीखों के बीच के दिनों की संख्या प्राप्त करें

किसी निश्चित मान (जैसे उपयोगकर्ता का अकाउंट) की उम्र निर्धारित करते समय, आपको किसी निश्चित बिंदु से बीते दिनों की संख्या की गणना करनी होगी। यहां एक सरल वन-लाइनर है जो ऐसा करता है:

const ageDays = (old, recent) => Math.ceil(Math.abs(old - recent) / (1000 * 60 * 60 * 24));

एक उदाहरण उपयोग के मामले के लिए, हम दिखावा करते हैं कि हम एक उपयोगकर्ता की उम्र का आकलन कर रहे हैं जिसने 28 दिसंबर, 2012 को अपना अकाउंट बनाया था और उस तारीख और आज के बीच के दिनों की संख्या प्राप्त करने के लिए इस घोषणा का उपयोग करते हैं:

console.log(ageDays(new Date('2012-12-28'), new Date()));

लेखन के समय, इसका परिणाम 3298 दिन होना चाहिए।

9. एक रेंज के भीतर एक यादृच्छिक संख्या जनरेट करें

कभी-कभी, बस कुछ यादृच्छिक संख्या जनरेट करना पर्याप्त नहीं है। आप बस उन शर्तों को सीमित करना चाह सकते हैं जिनके साथ यह जनरेट होती है। इस वन-लाइनर के साथ, आप एक निश्चित निर्दिष्ट रेंज के भीतर संख्याएं जनरेट करेंगे:

const rangeRandom = (low, high) => Math.floor(Math.random() * (high - low + 1)) + low;

इसे टेस्ट करना आसान होना चाहिए:

console.log(rangeRandom(400, 20000));

अक्सर पूछे जाने वाले प्रश्न

1. कुकीज़ में UUID का उपयोग क्यों करें?

चूंकि कुकीज़ अपनी प्रकृति से ही दखल देने वाली होती हैं और उपयोगकर्ता की मशीन पर जगह घेरती हैं, आपको इन उपकरणों का उपयोग करके डेटा एकत्र करते समय यथासंभव कुशल और गैर-आक्रामक होने का लक्ष्य रखना चाहिए। UUID का उपयोग दोहरा लाभ प्रदान करता है। पहला, यह क्लाइंट-बेस्ड स्टोरेज पर कब्जा की गई जगह को कम करता है क्योंकि पहचानकर्ता केवल 128 बिट्स की लंबाई का होता है। दूसरा, यह उपयोगकर्ता से संबंधित किसी भी व्यक्तिगत डेटा पर निर्भर नहीं करता है।

2. Node.js में डार्क मोड का पता लगाते समय मुझे "window is not defined" त्रुटि मिलती है। मैं क्या करूं?

Node.js क्लाइंट-साइड मॉड्यूल्स को कॉल नहीं कर सकता क्योंकि इसमें JavaScript जैसा अंतर्निहित क्लाइंट-सर्वर संबंध नहीं है। इस लेख में डार्क मोड डिटेक्शन वन-लाइनर विशेष रूप से ब्राउज़र-आधारित JavaScript के लिए है।

3. क्या यह कोड सभी ब्राउज़र्स के लिए यूनिवर्सल है?

JavaScript कोड एक इंटरप्रेटर का उपयोग करता है जो सार्वभौमिक रूप से कार्य करने वाला है। जबकि यह सैद्धांतिक रूप से सभी ब्राउज़र्स पर काम करता है, वे आपके कोड की व्याख्या थोड़ी अलग तरीके से कर सकते हैं विशेष रूप से बहुत पुराने सॉफ्टवेयर के साथ। यहां व्यक्त किए गए सभी वन-लाइनर्स के मामले में, उन्हें आपके उपयोगकर्ता द्वारा कोड चलाने वाले ब्राउज़र की परवाह किए बिना समान परिणाम लौटाने चाहिए। हालांकि ध्यान रखें कि JavaScript में सामान्य रूप से आपके द्वारा उपयोग की जाने वाली कुछ सुविधाएं Pale Moon, Internet Explorer, या वर्तमान में सक्रिय रूप से विकसित ब्राउज़र्स के शुरुआती-2000s संस्करणों जैसे ब्राउज़र्स पर काम नहीं कर सकती हैं।

  1. स्पॉटिफाई प्रीमियम प्लान: प्लान, फायदे और कीमत की पूरी जानकारी स्पॉटिफाई प्रीमियम प्लान: प्लान, फायदे और कीमत की पूरी जानकारी

    संगीत किसी न किसी तरह अपना रास्ता ढूंढ ही लेता है और सभी संगीत प्रेमियों के लिए ऑनलाइन और ऑफलाइन दोनों तरह से कई स्ट्रीमिंग प्लेटफॉर्म उपलब्ध हैं। स्पॉटिफाई सबसे बड़े और ट्रेंडीएस्ट म्यूजिक स्ट्रीमिंग प्लेटफॉर्म में से एक है जो संगीत के शौकीनों को मुफ्त में संगीत का आनंद लेने देता है, साथ ही इसमें व

  1. सैमसंग गैलेक्सी S9: व्यापक गाइड और प्रमुख विशेषताएं सैमसंग गैलेक्सी S9: व्यापक गाइड और प्रमुख विशेषताएं

    लंबा इंतजार आखिरकार खत्म हुआ! सैमसंग के फ्लैगशिप फोन S9 और S9+ का हाल ही में MWC (मोबाइल वर्ल्ड कॉन्फ्रेंस) 2018 में अनावरण किया गया। बार्सिलोना में आयोजित मोबाइल वर्ल्ड कॉन्फ्रेंस 2018 में गैलेक्सी सीरीज के सैमसंग के सबसे बड़े और नवीनतम फोन का रिलीज देखा गया। सैमसंग के फ्लैगशिप फोन में इसके पिछले

  1. किसी भी वेबसाइट को जल्दी से अनब्लॉक करने के 5 विश्वसनीय तरीके किसी भी वेबसाइट को जल्दी से अनब्लॉक करने के 5 विश्वसनीय तरीके

    इंटरनेट एक विशाल प्लेटफॉर्म है, एक सख्त जरूरत जिसके बिना हम जीवित नहीं रह सकते। उस ने कहा, हम अपना अधिकांश समय वेब सर्फिंग में बिताते हैं, लेकिन यह अभी भी एक समझ होगी क्योंकि हम 24x7 घंटे इंटरनेट का उपयोग करते हैं। चाहे आप अपने ईमेल जांचना चाहते हों, लेख पढ़ना चाहते हों, या बस ऑनलाइन खरीदारी करना चा