javascript - 如何在javascript中比较和更改对象值的数组
问题描述
我有两个对象数组,想比较它们的名称和值。
const array1 = [
{
name: 'John',
value: null
},
{
name: 'Peter',
value: null
}
]
const array2 = [
{
name: 'John',
value: '0'
}
]
如果array1 上存在属性name
array2,则将name 的值更改为'0',否则什么也不做。
我期望的结果是:
[
{
"name": "John",
"value": "0"
},
{
"name": "Peter",
"value": null
]
谁能告诉我该怎么做?
解决方案
这很简单 :
array1.forEach(record1 => {
array2.forEach(record2 => {
if (record1.name === record2.name) {
record1.value = "0";
}
});
});
推荐阅读
- outlook - 如何使用 Graph API 从 Outlook 上的共享收件箱文件夹中读取电子邮件?
- c++ - 在 C++ 中将 OpenGL 模板操作写入前台
- reactjs - React 检测到 Hooks 的顺序发生了变化
- ios - react native ios build 的 _swift 和 __C 错误
- python-3.x - Python Pandas - 根据字符串值解析 CSV 文件中的行
- postgresql - 为什么我的气流网络服务器无法正确初始化?
- regex - 正则表达式提取两个字符之间的字符串,这些字符可能包含也可能不包含新行
- angular - NullInjector 错误 - [[Object object]->[object Object]] 没有提供程序
- ios - 滚动时表格视图消失
- reactjs - 服务帐户对象必须包含字符串“private_key”属性。(财产存在)