我正在将一些数据插入到数组中但我得到了
,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
然后我将这个数组传递给一个函数并循环遍历这个数组。
答案 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
条目现在以您的方式输出时会产生空字符串,从而导致您的前导逗号。