javascript - 将数据从一个对象数组合并到另一个对象数组
问题描述
我正在寻找将从本地数据库返回的数组与要发送到前端的虚拟数据结合起来。
我有两个对象数组,用户直接来自我的 mongo 数据库,在将结果发送到前端之前,我想将虚拟数据添加到用户对象数组中。现在用户列表比我的虚拟数据大得多,因此我想遍历我的用户数据并将 dummyData 附加到每个用户对象,一旦我到达我的 dummyData 的末尾,它应该只是从顶部开始。
let users = [
{ name: "John", lastName: "Henry" },
{ name: "Peter", lastName: "Pumpkin" },
{name: "John", lastName: "Snow"},
{name: "Jack", lastName: "Stevens"}
];
let dummyData = [
{
callTime: "Call Now",
userType: "End User(Agent)",
callStatus: "Called",
orderStatus: "Order Placed(1)",
consultant: "Bennie Hennie",
company: "Some Company"
},
{
callTime: "Call Now",
userType: "End User(James Bond)",
callStatus: "Pending Call",
orderStatus: "No Order Placed",
consultant: "Sally Sue",
company: "Super Sonic & Co"
},
{
callTime: "Call Now",
userType: "End User(Peter Griffin))",
callStatus: "Called",
orderStatus: "Order Placed(1)",
consultant: "Jenny Oldstone",
company: "Witcher School"
}
];
期望的最终结果应该是:
users[
{name: "John",
lastName: "Henry",
callTime: "Call Now",
userType: "End User(Agent)",
callStatus: "Called",
orderStatus: "Order Placed(1)",
consultant: "Bennie Hennie",
company: "Some Company"
}]
我想我可以通过 forloop 实现这一点,但我以前从未循环过对象。
解决方案
let k = 0;
users.forEach((item,i)=> {
k = k === dummyData.length ? 0 : k;
users[i] = {...users[i],...dummyData[k]};
k++;
});
console.log(users)
尝试这个 -
推荐阅读
- python - 绘图上的 GUI 按钮,用于选择绘图点并存储在不同的数组中
- localhost - Fiddler localhost URL(带有端口号)在带有 IIS Express 的 Visual Studio 中不起作用
- python - 根据下一行查找上一行值
- javascript - 获取html元素上的元素id名称
- python - 蟒蛇查找路径
- javascript - D3.js v5 - 从数组长度附加关于圆的线
- c++ - 成功的取消引用似乎会导致潜在的段错误
- c# - MySql Long Running Query Fails on Docker .NET Core: Attempted to read past the end of the stream / Expected to read 4 header bytes but only received 0
- python - 在 Python 中循环显示一些错误
- python - Django:如何添加到 ArrayField?