Как я могу полностью вернуть массив с вложенным массивом объектов внутри, если я использую распространенный синтаксис? - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь сгруппировать объекты в массиве по номеру соответствующей группы.Я также добавил дополнительные поля, чтобы пометить объекты, если он / она является лидером или членом.Это работает, но моя проблема в том, что объекты 'советников' внутри моего вложенного массива не возвращались.Это null, когда я использую синтаксис для возврата.

Это мой массив:

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
  }];
}];

Это мой код для добавления дополнительных полей.Это работает, но массив 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);

Я просто хочу сохранить все данные в массиве, включая массив советников

1 Ответ

1 голос
/ 10 июня 2019

Ваш массив не согласован, поэтому вы можете добавить проверку для ключа советников в функции карты и перейти оттуда.Что-то вроде:

const {advisers} = member; 
if(advisers){
   return {advisers};
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...