根据一个公共ID合并两个数组

时间:2020-04-01 17:12:28

标签: javascript json vue.js axios

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

在axios调用上,articleStream数组需要检查user_id数组中的id和在members中发送的seal中的name,并映射{{ 1}}从membersarticleStream。但是目前它没有发送正确的数组。

从axios调用返回的数组如下所示:

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果我正确理解了您的问题,那么您正在寻找这样的东西:

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

这将在用户ID和文章user-id匹配的每篇文章上添加用户名

如果要合并数组之间的所有数据,请更改以下内容:return [...i, item.name]return [...i, ...item] 在上面的示例中