Как динамически создать sh массив, используя оператор распространения Javascript - PullRequest
1 голос
/ 09 марта 2020
[
  {
    "details": {
      "name": "john",
      "point": "20"
    },

    "list": {
      "number": "30",

    }
  },
  {
    "details": {
      "name": "doe",
      "point": "25"
    },
    "list": {
      "number": "30",

    }
  }
]

Это то, что я пытаюсь сделать, я получаю данные из хранилища, и если ответ только один, я использую data = getData [0] .details, и если ответ больше одного, тогда я pu sh данные, использующие [... data, ... getData [1] .details], если есть несколько данных, как я могу достичь. заранее спасибо

 let data:any = [];
     this.store
              .pipe(
                select(getData),
                map((getData,i) => {
                  if (getData) {
                      data = [...data, ...getData[i].details]
                  }
             return data;
                })
             )

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Мне кажется, я понимаю, что вы имеете в виду:

Что я хотел бы сделать, это отобразить ваш getData ответ и добавить к исходному массиву на каждой итерации. Не имеет значения, есть ли 1 или много в массиве getData:

getData.map(x => $data.push(x.details));

1 голос
/ 09 марта 2020

Я думаю, вы хотите получить массив деталей. В этом случае вы можете сказать.

let data = [
  {
    "details": {
      "name": "john",
      "point": "20"
    },

    "list": {
      "number": "30",

    }
  },
  {
    "details": {
      "name": "doe",
      "point": "25"
    },
    "list": {
      "number": "30",

    }
  }
];

let details = data.map(a => a.details);

console.log(details);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...