0

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

,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

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

4

1 回答 1

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条目现在以您的方式输出时会产生一个空字符串,从而导致您的前导逗号。

于 2012-06-19T08:25:27.710 回答