जवाबों:
आप इसे सादे जावास्क्रिप्ट में कर सकते हैं, उपयोग करें Array.prototype.join
:
arrayName.join(delimiter)
मैं किसी भी jQuery फ़ंक्शन के बारे में नहीं जानता जो किसी भी बेहतर है।
Array.join
आपको क्या चाहिए, लेकिन अगर आपको पसंद है, तो phpjs.org पर मैत्रीपूर्ण लोगों ने आपके लिए बनाया implode
है।
तो कुछ बंद विषय ranting। जैसा कि @jon_darkstar alreadt ने बताया, jQuery जावास्क्रिप्ट है और इसके विपरीत नहीं है। आपको यह जानने की आवश्यकता नहीं है कि जावास्क्रिप्ट को समझने के लिए जावास्क्रिप्ट का उपयोग कैसे किया जाए, लेकिन यह निश्चित रूप से चोट नहीं पहुंचाता है और एक बार जब आप पुन: प्रयोज्य की सराहना करना शुरू करते हैं या बड़ी तस्वीर को देखना शुरू करते हैं, तो आपको इसे सीखने की आवश्यकता है।
भविष्य के संदर्भ के लिए, यदि आप PHP केimplode()
व्यवहार की नकल करना चाहते हैं जब कोई सीमांकक निर्दिष्ट नहीं किया जाता है (शाब्दिक रूप से केवल टुकड़ों को एक साथ मिलाएं), तो आपको जावास्क्रिप्ट में खाली स्ट्रिंग को पास करने की आवश्यकता होती है join()
अन्यथा यह सीमांकक के रूप में सीमांकक का उपयोग करने में चूक करता है।
var bits = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'];
alert(bits.join()); // H,e,l,l,o, ,W,o,r,l,d
alert(bits.join('')); // Hello World
एक सरणी में सभी तत्वों को सम्मिलित करके एक नया स्ट्रिंग बनाएँ () विधि का प्रयोग करें और वापस लौटाता है।
काम करने का उदाहरण
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
हम जावास्क्रिप्ट के प्रत्यारोपण का विकल्प बना सकते हैं:
function my_implode_js(separator,array){
var temp = '';
for(var i=0;i<array.length;i++){
temp += array[i]
if(i!=array.length-1){
temp += separator ;
}
}//end of the for loop
return temp;
}//end of the function
var array = new Array("One", "Two", "Three");
var str = my_implode_js('-',array);
alert(str);
Array
शाब्दिक के बजाय कंस्ट्रक्टर का उपयोग करना अनिवार्य है। यदि आप प्रत्यारोपण फ़ंक्शन को फिर से बनाने के लिए बेताब हैं, तो स्मार्ट चीज अपने स्वयं के फ़ंक्शन के साथ अंतर्निहित विधि को लपेटने के लिए होगी। होशियार बात यह है कि आप जिस भाषा में प्रोग्रामिंग कर रहे हैं उसे सीखना है।
array.join
पहचान नहीं रहा था "" कैसे एक विभाजक, लेकिन इसे कॉमा के साथ बदल रहा है। JQuery का उपयोग करते हुए, आप $.each
एक सरणी को फंसाने के लिए उपयोग कर सकते हैं (ध्यान दें कि output_saved_json सरणी है और tmp स्ट्रिंग है जो एन्कोडेड सरणी को संग्रहीत करेगा):
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index] + ";";
});
output_saved_json = tmp.substring(0,tmp.length - 1); // remove last ";" added
मैंने अंतिम को हटाने के लिए विकल्प का उपयोग किया है ";" आवश्यकता के बिना फाइनल में जोड़ा गया। लेकिन अगर आप पसंद करते हैं, तो आप इसके बजाय substring
कुछ का उपयोग कर सकते हैं :
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index];
if((index + 1) != output_saved_json.length) {
tmp = tmp + ";";
}
});
output_saved_json = tmp;
मुझे लगता है कि यह अंतिम समाधान 1 की तुलना में अधिक धीमा है क्योंकि यह जांचने की आवश्यकता है कि क्या सूचकांक हर बार सरणी के लंबन से अलग है, जबकि $.each
समाप्त नहीं होता है।
your_array.join(';')