gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 21:01:10 25 4
gpt4 key购买 nike

我有 3 个来源(A、B、C)来获取不同的数据,但它们有一个共同的字段 PID,并且这 3 个来源是独立的。就像,当我在 UI 上显示此数据时,B 的参数可以更改,但它会返回带有 PID 的数据。不管怎样,Sources 发生了什么变化,它应该与其他列一起调整,并且需要根据 PID 显示数据。

从源获取数据:

A : pid, name, data_a

B : pid, data_b

C : pid, data_c

呈现应该是:

pid - data_a - data_b - data_c

1 -----23 ------34--------35

2 -----24--------45--------56

我在考虑索引可能在第三方源中,pid-2 的值为空。

关于这个问题有什么建议吗?

示例数据格式:

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

我想要这样:

[
{
"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
}
]
},

最佳答案

您可以使用 ECMAScript6 的 Object.assign:

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

编辑:

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

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

关于javascript - 在javascript中从不同来源获取数据后如何根据ID列出表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com