我的目标是遍历ID为ajaxResponse1的表,并将每个COLUMN的值存储在单独的数组中。 valuesArr中的每个条目都是一个包含单个值数组的列。
我尝试使用新的Array而不是新的Object,但似乎仍未收到任何警告到我的屏幕的输出。我是否应该使用.push的某种组合将每个新列值放入适当的数组中?希望很清楚。有任何想法吗?谢谢!
var valuesArr = new Object();
$('#ajaxResponse1 tr').each( function() {
var colNum = 0;
$('th, td', this).each( function() {
valuesArr[colNum] = valuesArr[colNum].push( $(this).html() );
colNum++;
});
});
alert(JSON.stringify(valuesArr));
最佳答案
在数组真正存在之前,您不能将某些内容推入数组。
因此,在内部循环的每次迭代中,如果初始数组不存在,则必须创建它:
var valuesArr = [];
$('#ajaxResponse1 tr').each( function() {
$('th, td', this).each( function(i, el) { // nb: implicit column number
var html = $(this).html();
if (i in valuesArr) {
valuesArr[i].push(html);
} else {
valuesArr[i] = [ html ]; // new array with one element
}
}
});