用JavaScript放大数组?

2020/10/07 19:21 · javascript ·  · 0评论

我可以像在PHP中那样在jQuery中内爆一个数组吗?

您可以使用纯JavaScript来执行此操作,请使用Array.prototype.join

arrayName.join(delimiter);

像这样:

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

Array.join是您所需要的,但是如果您愿意,phpjs.org的友好伙伴implode为您创建

然后,一些话题脱离话题。正如@jon_darkstar已经指出的那样,jQuery是JavaScript,而不是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

使用join()方法通过连接数组中的所有元素来创建并返回新字符串。

工作实例

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.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不结束就检查索引是否不同于数组的长度

本文地址:http://javascript.askforanswer.com/yongjavascriptfangdashuzu.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!