gpt4 book ai didi

javascript - 我想返回 Javascript 中包含对象数组的对象的一部分

转载 作者:行者123 更新时间:2023-11-28 12:11:35 25 4
gpt4 key购买 nike

我有一个包含对象数组作为子属性的数组。但是,我只想返回对象的一部分。例如,

我原来的对象是:

var  deptObj= 
{
"requestId": 0,
"requestId_string": "0",
"departmentRequests": [
{
"persistenceVersion": 3,
"department": [
{
"persistenceId": 111,
"persistenceVersion": 0,
"persistenceVersion_string": "0",
"userId": 26,
"userId_string": "26",
"requestId": 0,
"requestId_string": "0",
"deptStatus": "PENDING",
"groupName": "Group 1 ",
"groupID": "15",
"userName": "user",
"userFirstname": "user1",
"userLastname": "User",
"requestDate": "2020-03-26",
"activityName": "Decision",
"countPending": 0
}
],
"decision": [],
"comment": "start",
"approved": [],
"docIndex": 0
}
]
}

然后,我想获取该对象的某些部分。例如,

{
"requestId": 0,
"departmentRequests": [
{
"department": [
{
"requestId": 0,
"groupID": "15",
"requestDate": "2020-03-26",
"deptStatus": "PENDING",
"userId": "26",
"countPending": 0
}
],
"comment": "start",
"docIndex": 0
}
]
}

我尝试按如下方式创建 JavaScript:

obj = [];

for(var i in deptObj) {
for(var j in deptObj[i].department) {
var thisObj = {};
thisObj.requestDate = deptObj[i].department[j].requestDate;
thisObj.userId = deptObj[i].department[j].userId;
thisObj.deptStatus = deptObj[i].department[j].deptStatus ;
thisObj.activityName = deptObj[i].department[j].activityName;
thisObj.countPending = deptObj[i].department[j].countPending; //
obj.push(thisObj);
}
}

//return obj;

return {
"requestId": deptObj.requestId,
"departmentRequests": obj
};

我不知道如何获取对象中的子数组。任何帮助,将不胜感激..提前致谢。

最佳答案

您可以使用Array.map迭代对象中的每个数组并提取所需的数据:

var deptObj = {
"requestId": 0,
"requestId_string": "0",
"departmentRequests": [{
"persistenceVersion": 3,
"department": [{
"persistenceId": 111,
"persistenceVersion": 0,
"persistenceVersion_string": "0",
"userId": 26,
"userId_string": "26",
"requestId": 0,
"requestId_string": "0",
"deptStatus": "PENDING",
"groupName": "Group 1 ",
"groupID": "15",
"userName": "user",
"userFirstname": "user1",
"userLastname": "User",
"requestDate": "2020-03-26",
"activityName": "Decision",
"countPending": 0
}],
"decision": [],
"comment": "start",
"approved": [],
"docIndex": 0
}]
}

// get department requests
const reqs = deptObj.departmentRequests.map(function(dr) {
return {
"comment": dr.comment,
"docIndex": dr.docIndex,
"department": dr.department.map(function(d) {
return {
"requestId": d.requestId,
"groupID": d.groupID,
"requestDate": d.requestDate,
"deptStatus": d.deptStatus,
"userId": d.userId,
"countPending": d.countPending
};
})
};
});

const res = {
"requestId": deptObj.requestId,
"departmentRequests": reqs
};

console.log(res);

关于javascript - 我想返回 Javascript 中包含对象数组的对象的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60877993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com