我需要在JavaScript中创建一个多维数组
我的代码如下但得到控制台错误“未捕获的TypeError:无法设置未定义的属性'时间'”
var timeLogDetails = {};
$('.time_input').each(function(i, obj) {
timeLogDetails[i]['time'] = $( this ).val();
timeLogDetails[i]['timeLog'] = $( this ).attr('timelog');
});
答案 0 :(得分:3)
您需要先为timeLogDetails
创建一个数组,然后将数据推送到它。
例如:
var timeLogDetails = [ ];
$('.time_input').each(function(i, obj) {
timeLogDetails.push( {
'time': $(this).val(),
'timeLog': $(this).attr('timelog')
} );
});
现在,您可以使用以下方式访问信息:
timeLogDetails[0]['time']
或timeLogDetails[0].time
答案 1 :(得分:1)
您可以使用BenM演示的each
或$.fn.map
。两者都会产生一系列对象:
var timeLogDetails = $('.time_input').map(function() {
return {
time: this.value,
timeLog: $(this).attr('timelog')
};
}).get();