2009-09-09 13 views
18

सामान्य रूप से जावास्क्रिप्ट के toString() विधि इसजावास्क्रिप्ट toString() .. में विभिन्न delimiters जोड़ें?

var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ]; 
var result = myArray .toString(); 

तरह की अल्पविराम द्वारा अलग मूल्य में सरणी देता है और यह इस zero,one,two,three,four,five तरह उत्पादन देता है।

लेकिन मैं इस प्रारूप zero_one_two_three_four_five (_ साथ अल्पविराम की जगह) में परिणाम का प्रतिनिधित्व करने के लिए एक आवश्यकता है।

मुझे पता है कि हम सरणी को स्ट्रिंग में परिवर्तित करने के बाद प्रतिस्थापन विधि का उपयोग करके ऐसा कर सकते हैं। क्या कोई बेहतर विकल्प उपलब्ध है?

चीयर्स

रमेश वेल

उत्तर

35

myArray.join ('_') आपको क्या चाहिए करना चाहिए।

+0

धन्यवाद edeverett .. मुझे पहले जावास्क्रिप्ट मूल बातें पढ़नी चाहिए ... :( – RameshVel

+1

कोई चिंता नहीं, यही वही है। अच्छी बात यह है कि उत्तर लिखने में लंबा समय नहीं लगा :-) – edeverett

5

उपयोग join एक विशिष्ट विभाजक के साथ तत्व शामिल होने के लिए:

myArray.join("_") 
3

कोई अन्य उद्देश्य पूरा करने के लिए प्रदर्शित किया जा सकता है और शीर्षक का जवाब से (लेकिन आत्मा) प्रश्न के पूछा:

<pre> 
<script type="text/javascript"> 
Array.prototype.toStringDefault = Array.prototype.toString; 
Array.prototype.toString = function (delim) { 
    if ('undefined' === typeof delim) { 
     return this.toStringDefault(); 
    } 
    return this.join(delim); 
} 
var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ]; 
var result1 = myArray.toString('_'); 
document.writeln(result1); 
var result2 = myArray.toString(); 
document.writeln(result2); 
</script> 
</pre> 

मैं ऐसा करने की अनुशंसा नहीं करता हूं। यह Array पर toString() की कार्यक्षमता को बढ़ाने के लिए आवश्यक कोड पर आपका कोड अधिक जटिल और निर्भर करता है। Array.join() का उपयोग सही जवाब है, मैं बस यह दिखाना चाहता था कि मूल रूप से पूछा गया था कि जावास्क्रिप्ट को संशोधित किया जा सकता है।

1

ग्रांट वाग्नेर के उत्तर में उपयोगिता है जब एक सरणी बहु-आयामी है।

सरणी [[ 'मैरी', 'अगर'], [ 'ए', 'लिटिल'], [ 'भेड़ का बच्चा', 'और']] ले

आप Array.join का उपयोग करते हैं ('_') विधि तो परिणाम की तरह कुछ हो जाएगा:

मैरी, Had_A, Little_lamb, और

में शामिल होने के विधि मुख्य सरणी में प्रत्येक तत्व और इस चूक इकट्ठा करने के लिए .toString() विधि का उपयोग करता है के रूप में

अल्पविराम विभाजक का उपयोग करने के लिए।

Array.toString() विधि को बदलना वांछित परिणाम उत्पन्न करेगा।

संबंधित मुद्दे