在javascript中创建多维关联数组

时间:2014-12-16 09:53:12

标签: javascript jquery arrays multidimensional-array

我需要在JavaScript中创建一个多维数组

我的代码如下但得到控制台错误“未捕获的TypeError:无法设置未定义的属性'时间'”

 var timeLogDetails = {};
  $('.time_input').each(function(i, obj) {
       timeLogDetails[i]['time'] = $( this ).val();
       timeLogDetails[i]['timeLog'] =  $( this ).attr('timelog');
  });

2 个答案:

答案 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();