使用for-each循环为特定obj进行迭代

时间:2014-07-14 11:20:24

标签: javascript json

我有这样的oracle表,并使用ajax调用在javascript中检索数组中的表数据。

starttime      endtime
 10:00 am        02:00 pm
 05:00 am        05:00 pm
 03:00 am        02:00 pm
 08:00 am        10:00 pm
 09:00 am        07:00 pm
 06:00 am        04:00 pm

在返回数据时我想像这样循环

obj[0].starttime,
obj[1].endtime,
obj[2].starttime,
obj[3].endtime,
obj[4].starttime,
obj[5].endtime

由于同一张表中会有很多记录,我需要使用智能方法顺利解决此问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

var len = obj.length / 2;

for (var i=0; i<len; i++) {

    var start = obj[i*2].starttime;
    var end = obj[i*2+1].endtime;

    // do something with the times
}

答案 1 :(得分:0)

我不完全确定你的问题是什么,但如果你只是试图循环obj并使用替代对象的starttime和endtime,你可以使用:

for (var i in obj){
    if(i%2 ==0){
         alert(obj[i].starttime);
    }else{
         alert(obj[i].endtime);
    }
}

请告诉我这是否是你要找的。

答案 2 :(得分:0)

这是你想要做的吗?

的Javascript

var ajaxData = [{
        starttime: '10:00 am',
        endtime: '02:00 pm'
    }, {
        starttime: '05:00 am',
        endtime: '05:00 pm'
    }, {
        starttime: '03:00 am',
        endtime: '02:00 pm'
    }, {
        starttime: '08:00 am',
        endtime: '10:00 pm'
    }, {
        starttime: '09:00 am',
        endtime: '07:00 pm'
    }, {
        starttime: '06:00 am',
        endtime: '04:00 pm'
    }];

ajaxData.forEach(function (record, index) {
    if (index % 2 === 0) {
        console.log('starttime: ', record.starttime);
    } else {
        console.log('endtime: ', record.endtime);
    }
})

输出

starttime:  10:00 am 
endtime:  05:00 pm 
starttime:  03:00 am 
endtime:  10:00 pm 
starttime:  09:00 am 
endtime:  04:00 pm   

jsFiddle