用jQuery / Javascript内爆数组?

我可以爆炸一个数组像在PHP中的jQuery?

你可以在普通的JavaScript中使用Array.prototype.join

 arrayName.join(delimiter) 

我不知道任何更好的jQueryfunction。

喜欢这个:

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

Array.join是你需要的,但是如果你喜欢的话, phpjs.org友好的人为你创build了内存 。

然后稍微偏离主题的咆哮。 正如@jon_darkstar alreadt指出的,jQuery是JavaScript,而不是相反。 你不需要知道JavaScript就能够理解如何使用jQuery,但是它肯定不会伤害到你,一旦你开始欣赏可重用性,或者开始寻找更大的图片,你绝对需要学习它。

为了将来的参考,如果你想在没有指定分隔符的情况下模仿PHP的implode()的行为(字面上只是把这些部分连接在一起),你需要传递一个空的string到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 

我们可以在javascript中创build内部替代:

 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.join不能识别“;” 如何分隔符,但用逗号replace它。 使用jQuery,你可以使用$.each来implode数组(注意,output_saved_json是数组,tmp是存储内爆数组的string):

 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 

我已经使用子string删除最后一个“;” 在最后没有必要添加。 但是,如果你愿意,你可以使用像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; 

我认为这最后的解决scheme比第一个更慢,因为它需要检查索引是否不同于数组的长度,而每个$.each不结束。