在jquery中的数组中的第一个元素之前获取逗号

时间:2012-06-19 08:22:02

标签: javascript jquery

我正在将一些数据插入到数组中但我得到了

,9,My firstname,My lastname,myemail@example.com,123456789

在我的控制台中。如何从第一个元素中删除逗号,即9?这是我的代码

var data = new Array();

                $(row_el.children("td")).each(function(i) {
                    var td = $(this);
                    //var data = td.html();
                    var td_el = td.attr('class');
                    //arr[i] = data;

                    if(!td.hasClass("element")) {
                        data[i] = td.html();        
                        console.log(i + ": " + data);
                    }

                });

我想要这样的输出

9,My firstname,My lastname,myemail@example.com,123456789

然后我将这个数组传递给一个函数并循环遍历这个数组。

1 个答案:

答案 0 :(得分:3)

只需使用push()MDN docu),而不是设置到数组中的特定位置:

var data = new Array();

$(row_el.children("td")).each(function(i) {
    var td = $(this);
    //var data = td.html();
    var td_el = td.attr('class');
    //arr[i] = data;

    if(!td.hasClass("element")) {
        data.push( td.html() );        
        console.log(i + ": " + data);
    }

});

问题是,并非each()处理的数组中的所有元素都会导致数组中的条目。但是,提交给您的回调的索引(i)仍会向上计数。因此,如果有一些元素不会导致数组的输入,则这些位置将填充undefined(只要您在以后的位置输入元素)。这些undefined条目现在以您的方式输出时会产生空字符串,从而导致您的前导逗号。