Javascript 查找属性,然后替换其所有值-lodash

Javascript 查找属性,然后替换其所有值-lodash,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有一个对象数组: users = [ {userId: 23, userName:"foo"}, {userId: 34, userName:"wrong"}, {userId: 45, userName:"baz"}, {userId: 56, userName:"..."}, ] 假设我要查找所有具有userName属性的对象,并用updateUser替换该值: updatedUser = {"foo"} 因此,在本例中,我将得到一个新数组,如: users = [

我有一个对象数组:

users = [
  {userId: 23, userName:"foo"},
  {userId: 34, userName:"wrong"},
  {userId: 45, userName:"baz"},
  {userId: 56, userName:"..."},
]
假设我要查找所有具有userName属性的对象,并用updateUser替换该值:

updatedUser = {"foo"}
因此,在本例中,我将得到一个新数组,如:

users = [
  {userId: 23, userName:"foo"},
  {userId: 34, userName:"foo"},
  {userId: 45, userName:"foo"},
  {userId: 56, userName:"foo"}
]
我用的是lodash,但不介意本地的


有什么帮助吗?

为什么您需要lodash,您可以像下面这样做

users.forEach((el)=>{el.userName= "foo";}) 
用户=[
{userId:23,用户名:“foo”},
{userId:34,userName:“错误”},
{userId:45,userName:“baz”},
{userId:56,用户名:“…”}
]
users.forEach((el)=>{el.userName=“foo”;})

console.log(用户)您可以为新对象指定所需的值

var users=[{userId:23,用户名:“foo”},{userId:34,用户名:“错”},{userId:45,用户名:“baz”},{userId:56,用户名:“…”},
更新={userName:“foo”},
结果=users.map(o=>Object.assign({},o,update));

控制台日志(结果)
您可以为用户
Array.prototype.map
并覆盖每个元素的用户名字段

const用户=[
{userId:23,用户名:“foo”},
{userId:34,userName:“错误”},
{userId:45,userName:“baz”},
{userId:56,用户名:'}
];
const result=users.map(u=>({…u,用户名:“foo”}));

控制台日志(结果)
您想要相同的数组还是新数组?在我的情况下,新数组最好