使用来自不同循环Javascript的数据创建数组

Create array with data from different loop Javascript

本文关键字:Javascript 数据 创建 数组 循环      更新时间:2023-09-26

我正在做这件事,我想分配给一个票证,数据:

var recent = [];
for (i = 0; i < data.data.users.length; i++) {
    var userid = data.data.users[i].id;
    recent[userid] = "name":data.data.users[i].name;
}
for (j = 0; j < data.data.tickets.length; j++) {
    var requesterid = data.data.tickets[j].requester_id;
    var created_at = data.data.tickets[j].created_at;
    var tickettitle = data.data.tickets[j].subject;
    var ticketstatus = data.data.tickets[j].status;
    var arrayRef = recent[requesterid] || [];
    recent[requesterid] = arrayRef.concat([{
            "date": created_at,
            "titre": tickettitle,
            "status": ticketstatus,
            "tag": tag,
            "id": requesterid
        }]);
}

一些解释:userid和requesterid是相同的值。

我想在数组中添加"name",但"name"包含在上一个循环中,所以会引起麻烦。你能帮我吗?

最后我想要这样的东西:

[
O:{name:"test",date:"mydate",status:"mystatus",tag:"tag",id:"007"}
1:{name:"test2",date:"mydate2",status:"mystatus2",tag:"tag2",id:"0072"}
]

这一行没有任何意义(语法也可能错误)

recent[userid] = "name":data.data.users[i].name;

如果要add "name" in my array

然后

recent[userid] = { "name": data.data.users[i].name }; //now recent is an array of object

或简称

recent[userid] = data.data.users[i].name; 

现在您需要为第二个循环使用不同于recent的阵列

var recentArr = [];
for (j = 0; j < data.data.tickets.length; j++) {
    var requesterid = data.data.tickets[j].requester_id;
    var created_at = data.data.tickets[j].created_at;
    var tickettitle = data.data.tickets[j].subject;
    var ticketstatus = data.data.tickets[j].status;
    var arrayRef = recentArr[requesterid] || [];
    recentArr[requesterid] = arrayRef.concat([{
            "date": created_at,
            "titre": tickettitle,
            "status": ticketstatus,
            "tag": tag,
            "id": requesterid
            "name" : recent[requesterid] 
        }]);
}

最后一行可以更改为(避免创建用于串联的数组)

    recentArr[requesterid] = recentArr[requesterid] || [];
    recentArr[requesterid].push ({
            "date": created_at,
            "titre": tickettitle,
            "status": ticketstatus,
            "tag": tag,
            "id": requesterid
            "name" : recent[requesterid] 
        });