javascript - 将对象属性添加到 map 函数中

标签 javascript reactjs ecmascript-6

this.users = this.users.map(oldUser => oldUser.id === user.id ? user : oldUser);

上面的代码是将更新后的用户数据拼接到users对象中,但同时我也想在user对象中添加额外的属性,我尝试了

this.users = this.users.map(oldUser => {
  if(oldUser.id === user.id){
    user.updated = 'grade';
    return user
  }else{
     return oldUser
  }
});

但是看到对象数组中的对象数组,我猜我的 map 搞砸了

最佳答案

一个工作示例(其中users模拟this.usersuserthis.user):

let users = [{id:'foo'}, {id:'bar'}];
const user = {id:'bar'};

users = users.map((oldUser) => (user.id === oldUser.id) ? Object.assign({}, oldUser, {updated:'grade'}) : oldUser);

关于javascript - 将对象属性添加到 map 函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43846789/

相关文章:

javascript - 如何将输入定位在屏幕底部?

javascript - 页脚后面的 Bootstrap Accordion 下拉菜单

javascript - 如何在 React Js 中的路由映射数组上传递 props

javascript - ES6 - 导出命名导出而不导入它们?

javascript - 从无状态功能组件动态渲染按钮

javascript - Moment.js - 获取明天并显示一周中的某一天

javascript - 删除 CKEditor 4 中的注释

javascript - React、延迟渲染和钩子(Hook)

reactjs - 如何将react-hooks、redux和typescript结合在一起?

ecmascript-6 - 对象不支持属性或方法 'find' 在 IE 11 中