JS - 列表以逗号分隔的数组

时间:2015-04-06 18:45:00

标签: javascript php jquery arrays list

我有一个输出显示为列表的函数:

email1
email2
email3
…

我想要实现的是拥有一个类似于:

的数组输出
email1, email2, email3, …

我知道如何转换列表?

$(document).ready(function(){
        $(".select_email").click(function(){
           var val = [];

           $(':checkbox:checked').each(function(i){
                val[i] = $(this).val();
                var arr = jQuery.makeArray( val[i] );
                arr.push(val[i]);
                document.getElementById("demo").innerHTML = arr;
                console.log(arr);
            });
        });
    });

5 个答案:

答案 0 :(得分:1)

你是一个阵列。我只是转换这个员工。

    $(document).ready(function(){
    $(".select_email").click(function(){
       var val = [];

       $(':checkbox:checked').each(function(i){
            val[i] = $(this).val();
            var arr = jQuery.makeArray( val[i] );
            arr.push(val[i]);

            document.getElementById("demo").innerHTML = val[i];
            console.log(val[i]);
            //we just convert array to string by separator comma
            console.log(arr.join(", "));

        });
    });
});

答案 1 :(得分:0)

你使用额外的数组使事情变得复杂。您只需要一个数组并使用join()

$(".select_email").click(function () {
    var val = [];

    $(':checkbox:checked').each(function (i) {
        val.push($(this).val());// push values to array    
    });
    $('#demo').html(val.join()); // join array to print

});

默认情况下join()使用逗号作为分隔符,如果您想要额外的空格或不同的分隔符作为参数传递,如join(', ')

答案 2 :(得分:0)

您正在做的是,您正在打印这些值。您已有列表

$(':checkbox:checked')

您正在执行$ .each操作。您可以通过指定第二个参数来获取项目。

$(selector).each(function(index, elem){
     //do stuff
})

有关详细信息,您可以查看API文档 https://api.jquery.com/each/

答案 3 :(得分:0)

这是快速解决方案

$(document).ready(function(){
  $(".select_email").click(function(){
  var val = $(':checkbox:checked').map(function(){ return this.value; }).toArray().join(', ');
  document.getElementById("demo").innerHTML = val;
 });
});

答案 4 :(得分:0)

只需替换var" txt"与您的数据。

示例:

<textarea id="txtarea">
line1
line2
linea3</textarea>

    function transform(){
        var txt = document.getElementById('txtarea').value;
        txt = txt.replace(/(\n|\r|\r\n)/g, '<br/>');
        var temp = txt.split("<br/>");

        var rsp = '';

        for (index = 0; index < temp.length; ++index) {
            rsp += temp[index]  + " ";
        }

        console.log(rsp);
    }

输出:

line1 line2 line3