javascript - 合并两个数组并保留其他字段(数组对象之间的差异)
问题描述
我找不到一种干净的方法来合并两个数组并保留其他字段,即数组对象之间的区别。
const currentForm = [
{
name: "username",
type: "string",
info: "enter username",
value: "test"
},
{
name: "password",
type: "aes",
info: "enter password",
value: "pass"
}
];
const newForm = [
{
name: "username",
type: "string",
info: "enter username"
}
];
合并后我想要这个数组:
const currentForm = [
{
name: "username",
type: "string",
info: "enter username",
value: "test"
}
];
我用一个复杂的函数实现了这一点,但我认为它可以用 es6 语法轻松实现。
工作示例:https ://codesandbox.io/s/merged-arrays-18m1t?file=/src/App.js
解决方案
我不清楚你想要达到什么目的。
如果要将第一个数组的每个对象与另一个数组中相同位置的对象合并:
currentForm.map((obj, i) => Object.assign({}, obj, newForm[i]));
推荐阅读
- directive - nuxtjs:全局客户指令无法通过插件数组解析
- java - 在类之间发送令牌
- asp.net-mvc - 如何使用 Entity Framework Code First 删除多对多自动生成的表
- php - 检查变量的最佳实践
- mysql - 我需要以当前日期结束我的案例陈述
- heap - 为什么优先队列更喜欢使用堆而不是数组来实现,尽管堆本身是使用数组实现的
- php - PHP Selenium 被 CORS 策略阻止
- java - Checkstyle - 在 switch 语句中返回计数
- javascript - 滚动到新消息底部
- android - 如何从 asyncTask 本身内部杀死 AsyncTask?