Исправить массив с помощью jQuery/Javascript?

Могу ли я взорвать массив в jQuery, как в PHP?

Ответ 1

Вы можете сделать это в простом JavaScript, используйте Array.prototype.join:

arrayName.join(delimiter)

Я не знаю никакой функции jQuery, которая лучше.

Ответ 2

Как это:

[1,2,3,4].join('; ')

Ответ 3

Array.join - это то, что вам нужно, но если вам нравится, дружелюбные люди в phpjs.org создали implode для вас.

Затем немного отвлекся от темы. Как отметил @jon_darkstar alreadt, jQuery - это JavaScript, а не наоборот. Вам не нужно знать JavaScript, чтобы иметь возможность понять, как использовать jQuery, но, конечно же, это не повредит, и как только вы начнете ценить повторное использование или начнете смотреть на большую картину, вам абсолютно необходимо ее изучить.

Ответ 4

В будущем, если вы хотите подражать поведению 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

Ответ 5

Метод join() создает и возвращает новую строку, объединяя все элементы в массиве.

Рабочий пример

var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);

Ответ 6

Мы можем создать альтернативу implode в 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);

Ответ 7

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 не заканчивается.