जावास्क्रिप्ट में एक स्ट्रिंग में वर्ण जोड़ें


108

मुझे खाली लूप के लिए फॉर लूप वर्णों में जोड़ना होगा। मुझे पता है कि आप जावास्क्रिप्ट के साथ फंक्शन कॉनसैट का उपयोग स्ट्रिंग्स के साथ कॉन्सर्ट करने के लिए कर सकते हैं

var first_name = "peter"; 
var last_name = "jones"; 
var name=first_name.concat(last_name) 

लेकिन मेरे उदाहरण के साथ यह काम नहीं करता है। किसी भी विचार यह कैसे एक और तरीका है?

मेरा कोड:

    var text ="";
    for (var member in list) {
            text.concat(list[member]);
    }

1
यदि सूची एक सरणी है, तो for...inसामान्य forलूप का उपयोग न करें । यहाँ अधिक जानकारी: developer.mozilla.org/en/JavaScript/Reference/Statements/… Btw। यदि आप अपने दोनों उदाहरणों को करीब से देखते हैं, तो आप name=first_name.concat(last_name)text.concat(list[member])
फेलिक्स क्लिंग

जवाबों:


154
var text ="";
for (var member in list) {
        text += list[member];
}

एक बेहतर तरीका यह हो सकता है कि आप इसे ( for...in) के बजाय ऑब्जेक्ट से कुंजियाँ प्राप्त करें और उन पर शामिल हों: var text = ""; text += Object.keys(list).join('')
Blazes

50

आप मौजूदा स्ट्रिंग में तार जोड़ सकते हैं जैसे:

var myString = "Hello ";
myString += "World";
myString += "!";

परिणाम होगा -> Hello World!


7

बस +ऑपरेटर का इस्तेमाल किया । जावास्क्रिप्ट के साथ तार तार +


5

ऐसा लगता है कि आप उपयोग करना चाहते हैं join, जैसे:

var text = list.join();

1
केवल सरण के लिए काम करता है। लेकिन मुझे डर है कि ओपी for...inएक सरणी को पार करने के लिए उपयोग करता है, इसलिए आपका सुझाव शायद काम करता है।
फेलिक्स क्लिंग

5

String.concat का उपयोग करने के लिए, आपको अपने मौजूदा पाठ को बदलने की आवश्यकता है, क्योंकि फ़ंक्शन संदर्भ द्वारा कार्य नहीं करता है।

var text ="";
for (var member in list) {
        text = text.concat(list[member]);
}

बेशक, दूसरों के द्वारा दिए गए जॉइन () या + = सुझाव ठीक काम करेंगे।


यह एक अच्छा समाधान है क्योंकि यह फ़ंक्शन चेनिंग के लिए दरवाजा खुला छोड़ देता है
मार्क कारपेंटर जूनियर

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