如何根据JavaScript数组对象的null键值操作它

如何根据JavaScript数组对象的null键值操作它,javascript,arrays,node.js,data-manipulation,Javascript,Arrays,Node.js,Data Manipulation,我的数据如下: let activityList = [ { "2-createdAt": "2019-12-27T13:11:04.300+0000", "2-modifiedAt": "2020-01-02T13:28:18.877+0000", "2-createdBy": "admin_tna", "2-lastModifiedBy": "admin_tna", "2-id": 2, "2-name": "Activity 2", "2-serialNo": 543, "2-notify

我的数据如下:

let activityList = [
{
"2-createdAt": "2019-12-27T13:11:04.300+0000",
"2-modifiedAt": "2020-01-02T13:28:18.877+0000",
"2-createdBy": "admin_tna",
"2-lastModifiedBy": "admin_tna",
"2-id": 2,
"2-name": "Activity 2",
"2-serialNo": 543,
"2-notify": "No",
"2-department": {createdAt: "2019-12-26T12:26:37.752+0000", modifiedAt: "2019-12-26T12:26:37.752+0000", createdBy: "admin_tna", lastModifiedBy: "admin_tna", id: 2,},
"2-subActivityList": [{}],
"2-departmentId": 2,
"2-cLevel": "false",
"20-createdAt": "2020-01-09T08:44:19.697+0000",
"20-modifiedAt": "2020-01-09T08:44:19.697+0000",
"20-createdBy": "admin_tna",
"20-lastModifiedBy": "admin_tna",
"20-id": 20,
"20-name": "Activity 3",
"20-serialNo": 8,
"20-notify": null,
"20-department": {createdAt: "2019-12-26T12:03:09.485+0000", modifiedAt: "2019-12-26T12:26:14.402+0000", createdBy: "admin_tna", lastModifiedBy: "admin_tna", id: 1,},
"20-subActivityList": (3) [{}, {}, {}],
"20-departmentId": 1,
"20-cLevel": true,
"21-createdAt": "2020-01-09T08:48:16.282+0000",
"21-modifiedAt": "2020-01-09T08:48:16.282+0000",
"21-createdBy": "admin_tna",
"21-lastModifiedBy": "admin_tna",
"21-id": 21,
"21-name": "Activity 1",
"21-serialNo": 8,
"21-notify": null,
"21-department": {createdAt: "2019-12-26T12:26:37.752+0000", modifiedAt: "2019-12-26T12:26:37.752+0000", createdBy: "admin_tna", lastModifiedBy: "admin_tna", id: 2,},
"21-subActivityList": (2),
"21-departmentId": 2,
"21-cLevel": true,
"buyerId": 2,
"name": "ss",
"tnaType": "Forward",
"2-leadTimeNormal": 8,
"2-leadTimeOptimal": 4,
"2-timeFrom": "O"}
]
如您所见,我只有
ID2
leadTimeNormal
leadTimeOptimal
数据,读作
2-leadTimeNormal:8,2-leadTimeOptimal:4,

所以,我想要一个新的对象列表,如下所示:

let newActivity = [{
        "2-createdAt": "2019-12-27T13:11:04.300+0000",
        "2-modifiedAt": "2020-01-02T13:28:18.877+0000",
        "2-createdBy": "admin_tna",
        "2-lastModifiedBy": "admin_tna",
        "2-id": 2,
        "2-name": "Activity 2",
        "2-serialNo": 543,
        "2-notify": "No",
        "2-department": {createdAt: "2019-12-26T12:26:37.752+0000", modifiedAt: "2019-12-26T12:26:37.752+0000", createdBy: "admin_tna", lastModifiedBy: "admin_tna", id: 2,},
        "2-subActivityList": [{}],
        "2-departmentId": 2,
        "2-cLevel": "false",
    "2-leadTimeNormal": 8,
        "2-leadTimeOptimal": 4,
        "2-timeFrom": "O"
    }]

这可能会缩短,但这只是一个开始

let activityList=[{“2-createdBy”:“2019-12-27T13:11:04.300+0000”,“2-modifiedAt”:“2020-01-02T13:28:18.877+0000”,“2-createdBy”:“admin_tna”,“2-lastModifiedBy”:“admin_tna”,“2-id”:2,“2-name”:“Activity 2”,“2-serialNo”:543,“2-notify”:“No”,“2-department”:{createdAt:“2019-12-26T12:26:37.752+0000”,modifiedAt:“2019-12-26T12:26:37.752+0000”,由“管理员”创建,最后修改为:“管理员”,id:2,},“2-subActivityList:[{}],“2-departmentId”:2,“2-cLevel:“false”,“20-createdAt:“2020-01-09T08:44:19.697+0000”,“20-createdAt:“2020-01-09T08:44:19.697+0000”,“20-createdBy:“管理员”;“管理员”;“20-createdBy:“管理员”;“姓名”,“20-id:”活动3,“20 serialNo”:8,“20 notify”:null,“20 department:{createdAt:“2019-12-26T12:03:09.485+0000”,modifieddat:“2019-12-26T12:26:14.402+0000”,createdBy:“admin_tna”,lastModifiedBy:“admin_tna”,id:1,},“20 subActivityList:”:(3),“20 departmentId:“1,”20 cLevel:“true,”21 createdAt:“2020-01-T08:48:282+0000”21修改:“2020-01-09T08:48:16.282+0000”,“21创建人”:“管理人”,“21最后修改人”:“管理人”,“21 id”:21,“21姓名”:“活动1”,“21序列号”:8,“21通知”:空,“21部门”:{创建人:“2019-12-26T12:26:37.752+0000”,修改人:“2019-12-26T12:26:37.752+0000”,创建人:“管理人”,最后修改人:“管理人”“,id:2,},“21子活动列表”:(2),“21部门id:2,”21 cLevel:true,“buyerId:2,”name:“ss”,“tnaType:“转发”,“2-leadTimeNormal”:8,“2-leadTimeOptimal”:4,“2-timeFrom:“O”}]
const keys=Object.keys(activityList[0]);
const matches=JSON.stringify(keys.matchAll(/“(\d+-)提前期/g);
前缀=[];
for(连续匹配){
if(prefix.indexOf(匹配[1])==-1)prefix.push(匹配[1])
}  
const newObject={}
keys.forEach(k=>{
if(前缀.indexOf(k.split(“-”[0]+“-”)==0)newObject[k]=activityList[0][k]
})
console.log(newObject)