[英]How can I completely return the array with nested array of objects inside if I am using spread syntax?
I try to group the objects in an array, by their respective group number. 我尝试按对象的各自组号对数组中的对象进行分组。 I also added extra fields to tag objects if he/she is a leader or a member. 如果他/她是领导者或成员,我还添加了额外的字段来标记对象。 That works, but my problem is, the 'advisers' objects inside my nested array were not returning. 那行得通,但是我的问题是,嵌套数组中的“ advisers”对象没有返回。 It is null
when I uses spread syntax to return. 当我使用传播语法返回时,它为null
。
This is my array: 这是我的数组:
const data = [{
"name": "John",
"groupNo": 1
}, {
"name": "Chelsea",
"groupNo": 1
}, {
"name": "Mark",
"groupNo": 1
}, {
"name": "Mary",
"groupNo": 8
}, {
advisers: [{
"name": "Kenedy",
"groupNo": 1
}, {
"name": "Chelsea",
"groupNo": 1
}, {
"name": "Chris",
"groupNo": 8
}];
}];
This is my code for adding extra fields. 这是我添加额外字段的代码。 It works but the advisers
array is null
. 它可以工作,但advisers
数组为null
。
const output = data.map(function(member) {
if (this.has(member.groupNo)) {
// Member
return {
...member,
"leaderNo": "",
"memberNo": this.size
}
}
// Leader
this.add(member.groupNo)
return {
...member,
"leaderNo": this.size,
"memberNo": ""
}
}, new Set())
console.log(output);
I just want to retain all data in array including advisers array 我只想保留阵列中的所有数据,包括顾问阵列
Your array is not consistent so you can add a check for the advisers key in the map function and go from there. 您的数组不一致,因此可以在map函数中添加对Advisors键的检查,然后从那里开始。 Something like: 就像是:
const {advisers} = member;
if(advisers){
return {advisers};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.