मैं जावास्क्रिप्ट में निम्नलिखित कैसे कर सकता हूं?
कॉनकनेट "1", "2", "3" को "123" में
"123" को 123 में बदलें
123 + 100 = 223 जोड़ें
गुप्त 223 "223" में
मैं जावास्क्रिप्ट में निम्नलिखित कैसे कर सकता हूं?
कॉनकनेट "1", "2", "3" को "123" में
"123" को 123 में बदलें
123 + 100 = 223 जोड़ें
गुप्त 223 "223" में
जवाबों:
आप से परिचित होना चाहते हैं parseInt()
और toString()
।
और आपके टूलकिट में उपयोगी यह जानने के लिए एक चर को देखना होगा कि यह किस प्रकार का है typeof
:
<script type="text/javascript">
/**
* print out the value and the type of the variable passed in
*/
function printWithType(val) {
document.write('<pre>');
document.write(val);
document.write(' ');
document.writeln(typeof val);
document.write('</pre>');
}
var a = "1", b = "2", c = "3", result;
// Step (1) Concatenate "1", "2", "3" into "123"
// - concatenation operator is just "+", as long
// as all the items are strings, this works
result = a + b + c;
printWithType(result); //123 string
// - If they were not strings you could do
result = a.toString() + b.toString() + c.toString();
printWithType(result); // 123 string
// Step (2) Convert "123" into 123
result = parseInt(result,10);
printWithType(result); // 123 number
// Step (3) Add 123 + 100 = 223
result = result + 100;
printWithType(result); // 223 number
// Step (4) Convert 223 into "223"
result = result.toString(); //
printWithType(result); // 223 string
// If you concatenate a number with a
// blank string, you get a string
result = result + "";
printWithType(result); //223 string
</script>
"1" + "2" + "3"
या
["1", "2", "3"].join("")
में शामिल होने के विधि संयोजित एक स्ट्रिंग में एक सरणी के आइटम, आइटम के बीच निर्दिष्ट सीमांकक डाल। इस मामले में, "सीमांकक" एक खाली स्ट्रिंग ( ""
) है।
parseInt("123")
ECMAScript 5 से पहले , बेस 10 के लिए मूलांक को पास करना आवश्यक था:parseInt("123", 10)
123 + 100
(223).toString()
(parseInt("1" + "2" + "3") + 100).toString()
या
(parseInt(["1", "2", "3"].join("")) + 100).toString()
parseInt
हमेशा मूलांक निर्दिष्ट करना चाहिए ।
r = ("1"+"2"+"3") // step1 | build string ==> "123"
r = +r // step2 | to number ==> 123
r = r+100 // step3 | +100 ==> 223
r = ""+r // step4 | to string ==> "223"
//in one line
r = ""+(+("1"+"2"+"3")+100);
जावास्क्रिप्ट के टाइपिंग सिस्टम के कारण ये प्रश्न हर समय सामने आते हैं। लोगों को लगता है कि वे एक नंबर प्राप्त कर रहे हैं जब वे एक नंबर की स्ट्रिंग प्राप्त कर रहे हैं।
यहां कुछ चीजें दी गई हैं जिन्हें आप देख सकते हैं कि जावास्क्रिप्ट किस तरह से स्ट्रिंग और नंबरों से संबंधित है। व्यक्तिगत रूप से, मैं चाहता हूं कि जावास्क्रिप्ट ने स्ट्रिंग समवर्ती के लिए + के अलावा कुछ प्रतीक का उपयोग किया था ।
चरण (1) "१", "२", "३" को "१२३" में समेटें
result = "1" + "2" + "3";
चरण (2) "123" को 123 में बदलें
result = +"123";
चरण (3) 123 + 100 = 223 जोड़ें
result = 123 + 100;
चरण (4) 223 को "223" में बदलें
result = "" + 223;
यदि आप जानते हैं कि ये काम क्यों कर रहे हैं, तो आपको जावास्क्रिप्ट अभिव्यक्तियों में परेशानी होने की संभावना कम है।
आप इसे इस तरह से कर सकते हैं:
// step 1
var one = "1" + "2" + "3"; // string value "123"
// step 2
var two = parseInt(one); // integer value 123
// step 3
var three = 123 + 100; // integer value 223
// step 4
var four = three.toString(); // string value "223"
0
को अष्टक (आधार -8) संख्याओं के रूप में देखा जाएगा ।
0
और फिर युक्त 8
या 9
विफल हो जाएगा, जिससे 0. एग parseInt('034') = 28
, और , की वापसी होगी parseInt('09') = 0
।
किसी स्ट्रिंग को संख्या में बदलने के लिए, घटाना 0. एक संख्या को एक स्ट्रिंग में बदलने के लिए, "" (खाली स्ट्रिंग) जोड़ें।
5 + 1 आपको 6 देगा
(5 + "") + 1 आपको "51" देगा
("5" - 0) + 1 आपको 6 देगा
नीचे एक बहुत ही परेशान करने वाला उदाहरण है कि कैसे जावास्क्रिप्ट आपको परेशानी में डाल सकता है:
यदि आप केवल parseInt()
संख्या में बदलने के लिए उपयोग करने का प्रयास करते हैं और फिर परिणाम में एक और संख्या जोड़ते हैं तो यह दो तारों को समाप्त कर देगा।
हालाँकि, आप नीचे दिए गए उदाहरण में दिखाए गए अनुसार कोष्ठक में योग की अभिव्यक्ति रखकर समस्या को हल कर सकते हैं।
परिणाम: उनकी आयु योग है: 98; उनकी आयु योग नहीं है: 5048
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
var myFather = new Person("John", "Doe", "50", "blue");
var myMother = new Person("Sally", "Rally", 48, "green");
document.getElementById("demo").innerHTML = "Their age sum is: "+
(parseInt(myFather.age)+myMother.age)+"; Their age sum is NOT: " +
parseInt(myFather.age)+myMother.age;
</script>
</body>
</html>
सरलतम है जब आप पूर्णांक को एक स्ट्रिंग करना चाहते हैं
var a,b, c;
a = 1;
b = a.toString(); // This will give you string
अब, वेरिएबल b से जो टाइप स्ट्रिंग का है, हम पूर्णांक प्राप्त कर सकते हैं
c = b *1; //This will give you integer value of number :-)
यदि आप ऊपर जांचना चाहते हैं तो एक संख्या है। यदि आप सुनिश्चित नहीं हैं कि बी में पूर्णांक है तो आप उपयोग कर सकते हैं
if(isNaN(c*1)) {
//NOt a number
}
else //number
हम इसे पहले संख्याओं में बदलने और बस जोड़ने के लिए यूनीरी प्लस ऑपरेटर का उपयोग करके कर सकते हैं। निचे देखो:-
var a = "4";
var b = "7";
var sum = +a + +b;