无法获取对象值

时间:2018-03-19 10:46:25

标签: javascript

我的阵列:

[
 {
    "date":"2018-04-01",
    "time":[{"10:00":"12"},{"12:00":"25"}]
 },
 {
    "date":"2018-04-02",
    "time":[{"10:00":"12"},{"12:00":"25"}]
 },
 {
    "date":"2018-04-03",
    "time":[{"10:00":"12"},{"12:00":"25"}]
 }
]

我需要得到每个日期和时间。为了得到这个我使用for循环。但无法获得日期和时间。

我的剧本:

var slots = req.body.availableSlots;
var count = slots.length;
for(var i=0;i<count;i++){
    console.log(slots[i]);
    console.log(slots[i].date);
}

获取date时始终显示undefined

2 个答案:

答案 0 :(得分:1)

似乎req.body.availableSlots将作为多维对象数组出现。

所以完整代码需要: -

var slots = req.body.availableSlots;
for(var i=0;i<count;i++){
    var sub_array = slots[i];
    for(j = 0; j<sub_array.length;j++){
      console.log(sub_array[j].date);
    }
}

答案 1 :(得分:0)

使用javascript内置 JSON.parse

而不是使用jquery库( jQuery.parseJSON()
var slots =  '[{"date":"2018-04-01","time":[{"10:00":"12"},{"12:00":"25"}]},{"date":"2018-04-02","time":[{"10:00":"12"},{"12:00":"25"}]},{"date":"2018-04-03","time":[{"10:00":"12"},{"12:00":"25"}]}]';

slots = JSON.parse(slots);

var count = slots.length;
for(var i=0;i<count;i++){
    console.log(slots[i].date);