我总是依赖于lodash的findIndex和splice来重新渲染我的更新数据,我现在想要抛弃lodash,因为我现在正在用babel编译,可以做些什么来改进下面的代码?
onDoneUpdatedUserStatus(user) {
//this.users means existing array of object of existing users
const index = findIndex(this.users, { user_id: user.user_id });
if (index > -1) {
this.users.splice(index, 1, user);
}
}
答案 0 :(得分:1)
您可以将用户ID中的用户Map
存储到用户ID而不是数组。然后你只需要写
this.users.delete(user.user_id);
这也会加快您的查询时间。
答案 1 :(得分:0)
这是一个单行:
this.users = this.users.map(oldUser => oldUser.id === user.id ? user : oldUser);