मैं कंसोल.लॉग में एक चर कैसे जोड़ सकता हूं?


82

मैं जावास्क्रिप्ट में एक सरल खेल बना रहा हूं, लेकिन कहानी में मुझे खिलाड़ियों के नाम कहने की आवश्यकता है। तो मेरे पास अभी तक क्या है:

var name = prompt("what is your name?");

console.log("story" name "story);

मैं दूसरी पंक्ति कैसे करूँ? या कोई और तरीका है जिससे मैं यह कर सका। क्या console.log();कंसोल में 2 ऑन 1 लाइन होना संभव है ?


क्या आप सिर्फ एक साथ तारों को समेटना चाह रहे हैं? "क्या आप दूसरी पंक्ति करते हैं" से क्या मतलब है?
कोगस्मोस

^ कॉगस्मोस, अब कोई फर्क नहीं पड़ता, मेरे सवाल का जवाब दिया गया है
ब्रैडली

मुझे ख़ुशी है कि तुमने उसे ढूँढ लिया। जावास्क्रिप्ट में + का उपयोग अंकगणित के लिए किया जा सकता है और दो तार एक साथ जुड़ने के लिए भी किया जा सकता है (जिसे संगति भी कहा जाता है)। कुछ और विवरणों के लिए यहां देखें: w3schools.com/js/js_operators.asp
cogsmos

जवाबों:


87

फिर +तारों को संयोजित करने के लिए उपयोग करें:

console.log("story " + name + " story");

77

console.log कई तर्क लेता है, इसलिए बस उपयोग करें:

console.log("story", name, "story");

यदि नाम एक है objectया arrayफिर एक से अधिक तर्कों का उपयोग करना संगति से बेहतर है। यदि आप एक objectया arrayएक स्ट्रिंग में संक्षिप्त करते हैं तो आप चर की सामग्री के बजाय केवल प्रकार को लॉग करते हैं।

लेकिन अगर नाम सिर्फ एक आदिम प्रकार है, तो कई तर्क समवर्ती के समान काम करते हैं।


19
या यह भीconsole.log('story %s story',name);
मुहम्मद उमेर

1
मामूली बात है, लेकिन अगर आप एक कम पारंपरिक सेटिंग में हैं जैसे कि पार्स के क्लाउड कोड एक सरणी भेजना या% s का उपयोग करना काम नहीं करता है .. तो आप सहमति देने के लिए मजबूर हैं।
डेरेक लुकास

यह @MuhammadUmer महान है, मुझे लगता है कि केवल एक पायथन बात थी। पायथन %sमें तार को समतल करने के लिए सबसे अच्छी विधि है, क्योंकि आपको पहले चर प्रकार को बदलने की आवश्यकता नहीं है। मुझे आश्चर्य है कि क्या यह जेएस में ही है?
जस्सोन्चैर

62

आप एक और कंसोल विधि का उपयोग कर सकते हैं:

let name = prompt("what is your name?");
console.log(`story ${name} story`);

4
टेम्प्लेट स्ट्रिंग्स कमाल की हैं। लेकिन बशर्ते कोई व्यक्ति ES6 का उपयोग करता है। चूँकि उदाहरण में "var" का उपयोग किया जाता है (ES6
ofcourse

39

एक स्ट्रिंग के भीतर चर को सांत्वना देने के कई तरीके हैं।

विधि 1:

console.log("story", name, "story");

लाभ: यदि नाम JSON ऑब्जेक्ट है, तो इसे मुद्रित नहीं किया जाएगा "story" [object Object] "story"

विधि 2:

console.log("story " + name + " story");

विधि 3: जब ईएस 6 का उपयोग ऊपर वर्णित है

console.log(`story ${name} story`);

लाभ: अतिरिक्त, या + की कोई आवश्यकता नहीं

विधि 4:

console.log('story %s story',name);

लाभ: स्ट्रिंग अधिक पठनीय हो जाती है।


@egemen क्या करता है फ्रीमार्कर के साथ क्या करना है? यह एक ECMAscript 2015 टेम्पलेट शाब्दिक है
निको वैन बेले

1
यह सबसे अच्छा जवाब है।
स्टीफन कॉलिंस

19

ES6 का उपयोग करते समय आप यह भी कर सकते हैं:

var name = prompt("what is your name?");
console.log(`story ${name} story`);

नोट: आपको इस तरह से करने के लिए "" या '' के बजाय बैकटिक्स का उपयोग करना होगा।



3

%jकेवल Node.js. के लिए काम करता है %jएक मान को JSON स्ट्रिंग में कनवर्ट करता है और इसे सम्मिलित करता है।

console.log('%j new messages for', 7, 'john')
// 7 new messages for john

अधिक स्ट्रिंग प्रतिस्थापन यहाँ:

डॉक्स:


2

आपको क्या चाहिए इस पर यह निर्भर है।

console.log("story "+name+" story") होगा श्रेणीबद्ध तार एक साथ और प्रिंट कि। मेरे लिए, मैं इसका उपयोग करता हूं क्योंकि यह देखना आसान है कि क्या चल रहा है।

का उपयोग करना console.log("story",name,"story")संघनन के समान है, लेकिन ऐसा लगता है कि कुछ इस तरह से चलता है:

 var text = ["story", name, "story"];
 console.log(text.join(" "));

यह सरणी के सभी आइटमों को एक स्थान से अलग करके एक साथ धकेल रहा है: .join(" ")


1

दोनों console.log("story" + name + "story")और console.log("story", name, "story")पहले के उत्तरों में बताए अनुसार ठीक काम करता है।

मैं अभी भी एक आदत होने का सुझाव दूंगा console.log("story", name, "story"), क्योंकि, अगर ऑब्जेक्ट्स को प्रिंट करने की कोशिश की जा रही है, जैसे कि json ऑब्जेक्ट, तो "story" + objectVariable + "story"इसे स्ट्रिंग में बदल दिया जाएगा।

इस तरह उत्पादन होगा: "story" [object Object] "story"

बस एक अच्छा अभ्यास है।


फिर आप सुझाव क्यों दे रहे हैं "," एक। जैसा कि यह सिर्फ [ऑब्जेक्ट ऑब्जेक्ट] प्रिंट करेगा। अधिकतर, हम स्ट्रिंग संस्करण चाहते हैं जो "+" फ्रेम मिलेगा। सही?
पी सतीश पात्रो

0

आप स्वरूपण तर्कों की प्रिंटफ शैली का भी उपयोग कर सकते हैं। यह कम से कम क्रोम, फ़ायरफ़ॉक्स / फायरबग और नोड में उपलब्ध है ।js.

var name = prompt("what is your name?");

console.log("story %s story", name);

यह प्रारूपण संख्याओं के लिए% d का भी समर्थन करता है


-2

आप एक लाइन में कहानी और खिलाड़ियों के नाम दोनों को शामिल करने के लिए बैकस्लैश का उपयोग कर सकते हैं।

var नाम = शीघ्र ("आपका नाम क्या है?"); कंसोल.लॉग ("कहानी" \ name \ "कहानी");

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.