Объединить два массива на основе общего идентификатора - PullRequest
1 голос
/ 01 апреля 2020
let members=[{id:3, seal:'XXXXX', name:'Test'}, {}, {}]
axios.get("xxx" + seal + "/xx")
 .then(response => {
  this.articleStream = this.members.forEach(item => {
  response.data.map(i => (i.user_id = item.id));
 });
})

на оси ios вызов массива articleStream должен проверить user_id с id в members массиве и seal, отправляемом во время вызова ax ios, и отобразить name от members до articleStream. Но в настоящее время он не отправляет правильный массив.

Массив, возвращенный из вызова ax ios, выглядит следующим образом:

[{ id: 5, user_id: 3},{}]

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Если я правильно понял ваш вопрос, вы ищете что-то вроде этого:

axios.get("xxx" + seal + "/xx")
.then(response => {
    this.articleStream = this.members.forEach(item => {
    response.data.map(i => {
      if(i.user_id == item.id){
        return [...i, item.name]
      }
    });
  });
})

Это добавит имя пользователя в каждой статье, где идентификатор пользователя и идентификатор статьи совпадают

, если вы хотите объединить все данные между массивами, измените следующее: return [...i, item.name] на return [...i, ...item] в приведенном выше примере

0 голосов
/ 01 апреля 2020
let members=[{id:3, seal:'XXXXX', name:'Test'}, {}, {}]
axios.get("xxx" + seal + "/xx")
 .then(response => {
  this.articleStream = this.members.forEach(item => {
  response.data.map(i => {
   if (i.user_id === item.id)) i.name = item.name;
  };
 });
})
...