如何遍历主数组中的多个数组?

时间:2016-11-01 15:55:56

标签: jquery arrays

这就是我目前正在做的事情:

var Messages = function(data) {

    //dont change the order variable initialized
    var total = data.totalmessages;
    var data = data.messages;
    var counter = data.length;
    var mappedData = [];
    var attachment = [];
    var location = [];
    var id = 0;

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

        //attachment
         if (data[i].attachments.length > 0) {

            for (var j = 0; j < data[i].attachments.length; j++) {

                id = data[i].id;
                if (data[i].id == id) {

                    attachment.push({

                    'fileId': data[i].attachments[j].id,
                    'filename':data[i].attachments[j].name,
                    'messageId': data[i].id
                   });
                }

            }

         }

         //location

          if (data[i].locations.length > 0) {

            for (var k = 0; k < data[i].locations.length; k++) {

                id = data[i].id;

                if (data[i].id == id) {

                    location.push({

                    'locationId': data[i].locations[k].id,
                    'add':data[i].locations[k].add,
                    'messageId': data[i].id
                   });
                }
            }

          }

            mappedData.push({

                'id': data[i].id,
                'name': data[i].name,
                'attachment': attachment,
                'location': location
            });


    }

    var obj = {

        "template": config.templates.messagesBody,
        "data": mappedData,
        "totalItem": total
    }

    return obj;

};

上面发生的是,我正在循环通过消息进行对话。在消息内部,可能存在某些消息的附件和位置。

我可以正确浏览主要数组的消息。但我不知道如何遍历特定消息的附件和位置。在上面的方法中,假设我有5条消息。其中只有2个有附件或位置。当我最终组成由消息(return obj)组成的对象时,所有消息都有附件和位置。

0 个答案:

没有答案