可以使用以下代码实现:
function updateObjectById(arr, id, key, value) {
const index = arr.findIndex(obj => obj.id === id);
if (index !== -1) {
arr[index][key] = value;
arr[index].status = true;
}
}
// 示例用法
const objects = [
{ id: 1, name: 'Object 1', status: false },
{ id: 2, name: 'Object 2', status: false },
{ id: 3, name: 'Object 3', status: false }
];
updateObjectById(objects, 2, 'name', 'Updated Object 2');
console.log(objects);
上述代码中,updateObjectById
函数接受四个参数:数组 arr
,要匹配的 id
,要更新的属性 key
,以及要更新的值 value
。函数首先使用 findIndex
方法查找数组中匹配 id
的对象的索引。如果找到匹配的对象,则更新该对象的 key
属性为 value
,并将 status
属性设置为 true
。
在示例用法中,我们创建了一个包含三个对象的数组 objects
。然后,我们调用 updateObjectById
函数,将 id
为 2 的对象的 name
属性更新为 "Updated Object 2"。最后,我们打印输出数组 objects
,可以看到相应的对象已被更新。
这个函数适用于需要根据对象的特定属性(例如 id
)在数组中查找并更新对象的场景。它可以用于各种应用,例如管理用户、商品或其他实体的信息。对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,因此无法提供相关链接。
领取专属 10元无门槛券
手把手带您无忧上云