Yanıtlar:
Bunu düz JavaScript ile yapabilirsiniz, şunu kullanın Array.prototype.join
:
arrayName.join(delimiter)
Daha iyi herhangi bir jQuery işlevi bilmiyorum.
Array.join
İhtiyacınız olan şey budur, ancak isterseniz phpjs.org'daki dost insanlar sizin için yarattı implode
.
Sonra biraz konu dışı biraz. @Jon_darkstar alreadt belirttiği gibi, jQuery JavaScript ve tersi değil. JQuery'nin nasıl kullanılacağını anlayabilmek için JavaScript bilmenize gerek yoktur , ancak kesinlikle zarar vermez ve yeniden kullanılabilirliği takdir etmeye veya daha büyük resme bakmaya başladığınızda, kesinlikle öğrenmeniz gerekir.
Eğer mimik için davranışını istiyorsanız İleride, PHP'nin implode()
zaman hiçbir sınırlayıcı belirtilir (kelimenin tam anlamıyla sadece Parçaları bir araya katılmak) kullanarak, JavaScript'ın içine boş bir dize geçmesi gerekiyor join()
sınırlayıcı olarak virgül kullanarak aksi takdirde varsayılan:
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
Join () yöntemini kullan , bir dizideki tüm öğeleri birleştirerek yeni bir dize oluşturur ve döndürür.
Çalışma örneği
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
Javascript'te implode alternatifi oluşturabiliriz:
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
değişmezleri yerine yapıcı unecessarily ayrıntılı olmalıdır. Implode işlevini yeniden oluşturmak için çaresizseniz, akıllı şey yerleşik birleştirme yöntemini kendi işlevinizle sarmak olacaktır. Daha akıllı olan şey, programladığınız dili öğrenmektir.
array.join
";" nasıl bir ayırıcı, ama virgül ile değiştirilmesi. JQuery kullanarak, $.each
bir dizi implode etmek için kullanabilirsiniz (output_saved_json'un dizi ve tmp'nin yerleştirilen diziyi saklayacak dize olduğunu unutmayın):
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
Son ";" kaldırmak için alt dize kullandım gerek olmadan finalde eklendi. Ancak isterseniz, bunun substring
gibi bir şey kullanabilirsiniz :
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;
Ben bu son çözüm birinciden daha yavaş olduğunu düşünüyorum çünkü $.each
bitmeyen her zaman dizinin dizi uzunluğundan farklı olup olmadığını kontrol etmek gerekiyor .
your_array.join(';')