दिलचस्प पोस्ट
अपने सभी बच्चों सहित एक शाखा रिबसिंग टास्क के बीच अंतर क्या है। स्टार्ट / रुच और एसिंक / इंतजार? सी # में डेटाटाइंस के अंदरूनी हिस्सेदारी अग्रवाल सूचकांक कैसे खोजें रैंड फ़ंक्शन एक ही फ़ंक्शन को रिटर्न देता है जब एक फ़ंक्शन c ++ में कॉल किया जाता है एकाधिक स्ट्रिंग को एक बार में बदलें सरणी से सबसे निकटतम संख्या प्राप्त करें Xcode में NSZombie कैसे सक्षम करें? एक HTML पृष्ठ पर स्क्रॉलबार छिपा रहा है कैनवास छवि क्रॉसप्लेफ़ेट असुरक्षित त्रुटि 512×512 के मैट्रिक्स को 513×513 के मैट्रिक्स को ट्रांसपोजर की तुलना में धीमा क्यों ले जाया जाता है? पीएसडी की तरह पृष्ठांकित दस्तावेज बनाने के लिए सीएसएस 2 के बजाय एक्सएसएल-एफओ, CSS3 का उपयोग करें? एंड्रॉइड पर Google क्लाउड मैसेजिंग में पंजीकरण आईडी को संभालना बराबर (=) बनाम डिफ़ॉल्ट संबद्ध प्रोग्राम के साथ फाइल कैसे खोलें

जावास्क्रिप्ट में किसी स्ट्रिंग को संख्या बदलने का सबसे अच्छा तरीका क्या है?

संख्या को स्ट्रिंग में बदलने के लिए "सर्वोत्तम" तरीका क्या है (गति लाभ, स्पष्टता लाभ, स्मृति लाभ, आदि के संदर्भ में)?

कुछ उदाहरण:

  1. String(n)

  2. n.toString()

  3. ""+n

  4. n+""

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट में किसी स्ट्रिंग को संख्या बदलने का सबसे अच्छा तरीका क्या है?"

इस तरह:

 var foo = 45; var bar = '' + foo; 

असल में, हालांकि मैं सामान्य रूप से इसे साधारण सुविधा के लिए पसंद करता हूं, 1,000 से अधिक पुनरावृत्तियों से यह कच्ची गति के लिए प्रतीत होता है .toString()

यहां पर प्रदर्शन परीक्षाएं देखें (मेरे द्वारा नहीं, लेकिन जब मैंने अपना अपना लिखना पाया): http://jsben.ch/#/ghQYR

सबसे ऊपर JSPerf परीक्षण पर आधारित: str = num.toString();

यह ध्यान दिया जाना चाहिए कि गति में अंतर काफी अधिक महत्वपूर्ण नहीं है, जब आप मानते हैं कि यह रूपांतरण 0.1 सेकंड में 1 लाख बार कर सकता है

अपडेट: ब्राउज़र द्वारा गति को बहुत भिन्न लगता है क्रोम num + '' इस परीक्षा के आधार पर सबसे तेज़ लग रहा है http://jsben.ch/#/ghQYR

अपडेट 2: इसके बाद की मेरी परीक्षा के आधार पर फिर से यह ध्यान दिया जाना चाहिए कि फ़ायरफ़ॉक्स 20.0.1 .toString() को '' + num नमूना से लगभग 100 गुना धीमा करता है

मेरी राय में n.toString() इसकी स्पष्टता के लिए पुरस्कार लेता है, और मुझे नहीं लगता कि यह किसी अतिरिक्त ओवरहेड को लेता है।

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

इसलिए, उपरोक्त कारणों के लिए मैं इसके साथ जाना था: n.toString() या String(n) String(n) शायद एक बेहतर विकल्प है क्योंकि यह असफल नहीं होगा यदि n रिक्त या अपरिभाषित है।

किसी भी वैरिएबल को स्ट्रिंग में कनवर्ट करने का सबसे सरल तरीका है कि उस चर को रिक्त स्ट्रिंग जोड़ना।

 5.41 + '' // Result: the string '5.41' Math.PI + '' // Result: the string '3.141592653589793' 
 2..toString(); // the second point is correctly recognized 2 .toString(); // note the space left to the dot (2).toString(); // 2 is evaluated first 

स्रोत

स्पष्ट रूप से जीभ में गाल:

 var harshNum = 108; "".split.call(harshNum,"").join(""); 

या ES6 में आप बस टेम्पलेट स्ट्रिंग का उपयोग कर सकते हैं :

 var harshNum = 108; `${harshNum}`; 

मुझे पहले दो पसंद हैं क्योंकि वे पढ़ने में आसान हैं। मैं String(n) का उपयोग करते हैं लेकिन यह कुछ और की तुलना में शैली का मामला है

जब तक आपके पास एक पंक्ति नहीं होती है

 var n = 5; console.log ("the number is: " + n); 

जो बहुत आत्म व्याख्यात्मक है

यदि आपको दशमलव के किसी विशिष्ट संख्या के लिए परिणाम स्वरूपित करने की आवश्यकता है , उदाहरण के लिए मुद्रा का प्रतिनिधित्व करने के लिए, आपको toFixed() विधि की तरह कुछ चाहिए

 number.toFixed( [digits] ) 

digits दशमलव स्थान के बाद प्रदर्शित करने के लिए अंकों की संख्या है।

मुझे लगता है कि यह स्थिति पर निर्भर करता है, लेकिन वैसे भी आप .toString() विधि का उपयोग कर सकते हैं क्योंकि यह समझने में बहुत स्पष्ट है।

यदि मुझे सब कुछ ध्यान में रखना होता तो मैं निम्नलिखित का सुझाव दूंगा

 var myint = 1; var mystring = myint + ''; /*or int to string*/ myint = myint + '' 

आईएमएचओ, स्ट्रिंग में कनवर्ट करने का सबसे तेज़ तरीका है। अगर मैं ग़लत हूं तो मेरी गलती सुझाएं।

यदि आप उत्सुक हैं कि सबसे अधिक प्रदर्शन करने वाले हैं, तो यह जांचें कि मैं सभी अलग-अलग संख्याओं – स्ट्रिंग रूपांतरणों की तुलना कर रहा हूं।

ऐसा लगता है कि 2+'' या 2+"" सबसे तेज़ हैं

https://jsperf.com/int-2-string