我的目标是迭代 ID 为 ajaxResponse1 的表,并将每个列的值存储在单独的数组中。 valueArr 中的每个条目都将是包含单个值数组的列。
我尝试使用新数组而不是新对象,但我的屏幕似乎仍然没有收到任何输出警报。我是否应该使用 .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
}
}
});
关于javascript - 如何在 Javascript 中创建多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10452933/