首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在从javascript中从不同来源获取数据后,根据ID列出表中的数据?

如何在从javascript中从不同来源获取数据后,根据ID列出表中的数据?
EN

Stack Overflow用户
提问于 2017-09-27 09:04:38
回答 1查看 66关注 0票数 2

我有三个源(A,B,C)得到不同的数据,但它们有一个共同的场PID,这三个来源是独立的。例如,当我在UI上显示这些数据时,参数B可以更改,但它将返回PID数据。无论如何,发生了什么变化的源,它应该调整与其他列,并需要显示数据根据PID。

从源获取数据:

A: pid,名字,data_a

pid,data_b

C: pid,data_c

发言应包括:

pid - data_a - data_b - data_c

1

2-24

我在想,指数可能在第三来源,pid-2的值是空白的.

对这个问题有什么建议吗?

示例数据格式:

变量sourceA ={ pid: 1,data_a: 23,data_x: 23},{ pid: 2,data_a: 23,data_x: 23};

变量sourceB ={ pid: 1,data_b: 34,data_y: 34 },{ pid: 2,data_b: 34,data_y: 34 };

变量sourceC ={ pid: 1,data_c: 35,data_z: 34 },{ pid: 2,data_c: 35,data_z: 34 };

编辑::

代码语言:javascript
复制
var sourceA = [{ pid: 1, data_a: 23, data_x: 23},{ pid: 2, data_a: 23 ,data_x: 23}];

var sourceB = [{ pid: 1, data_a: 34, data_x: 34 },{ pid: 2, data_a: 34, data_x: 34 }];

var sourceC = [{ pid: 1, data_a: 35, data_x: 34 },{ pid: 2, data_a: 35, data_x: 34 }];

我想要这样的:

代码语言:javascript
复制
[
  {
    "pid": 1,
    "array": [
      {
        "data_a": 33,
        "data_x": 30
      },
      {
        "data_a": 33,
        "data_x": 30
      },
      {
        "data_a": 33,
        "data_x": 30
      }
    ]
  },
  {
    "pid": 2,
    "array": [
      {
        "data_a": 33,
        "data_x": 30
      },
      {
        "data_a": 33,
        "data_x": 30
      },
      {
        "data_a": 33,
        "data_x": 30
      }
    ]
  },

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 09:10:28

您可以使用ECMAScript6 6的Object.assign:

代码语言:javascript
复制
sourceA = { pid: 1, data_a: 23 };
sourceB = { pid: 1, data_b: 34 };
sourceC = { pid: 1, data_c: 35 };

var result = Object.assign({}, sourceA, sourceB, sourceC);
console.log(result);

编辑:

如果源是数组,则应该是:

代码语言:javascript
复制
var sourceA = [{ pid: 1, data_a: 23, data_x: 23},{ pid: 2, data_a: 23 ,data_x: 23}]; 
var sourceB = [{ pid: 1, data_b: 34, data_y: 34 },{ pid: 2, data_b: 34, data_y: 34 }]; 
var sourceC = [{ pid: 1, data_c: 35, data_z: 34 },{ pid: 2, data_c: 35, data_z: 34 }];

var result = sourceA.map((obj, index) => Object.assign({}, sourceA[index], sourceB[index], sourceC[index])); 
console.log(result);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46443742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档