Ответы:
Вы можете сделать это простым JavaScript, используя Array.prototype.join
:
arrayName.join(delimiter)
Я не знаю ни одной функции jQuery, которая была бы лучше.
Array.join
это то, что вам нужно, но если вам нравится, дружелюбные люди на phpjs.org создали implode
для вас.
Тогда немного не по теме разглагольствования. Как отметил @jon_darkstar alreadt, jQuery - это JavaScript, а не наоборот. Вам не нужно знать JavaScript, чтобы понимать, как использовать jQuery, но это определенно не повредит, и как только вы начнете ценить возможность многократного использования или начнете смотреть на более широкую картину, вам абсолютно необходимо изучить ее.
Для дальнейшего использования, если вы хотите имитировать поведение PHP, implode()
когда не указан разделитель (буквально просто соедините части вместе), вам нужно передать пустую строку в Javascript, 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);
Мы можем создать альтернативу взрыва в javascript:
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;
Я думаю, что это последнее решение медленнее, чем первое, потому что оно должно каждый раз проверять, отличается ли индекс от длины массива, пока $.each
не заканчивается.
your_array.join(';')