javascript - es6中lodash的findIndex

标签 javascript reactjs ecmascript-6 lodash babeljs

我总是依赖 lodash 和 splice 的 findIndex 来重新渲染更新后的数据,我现在正在使用 babel 进行编译,因此希望放弃 lodash,可以做些什么来改进下面的代码?

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);
    }
}

最佳答案

您可以将用户存储在从用户 ID 到用户的 Map 中,而不是数组。然后你只需要写

this.users.delete(user.user_id);

这也会加快您的查找时间。

关于javascript - es6中lodash的findIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828223/

相关文章:

javascript - Three.js - raycaster.intersectObjects 的问题

javascript - 如何获取AngularJS中ng-repeat选项数组中的子值?

javascript - Phaser 游戏开发 - 菜单中箭头移动太快

javascript - React - 在异步操作后立即设置状态

javascript - 如何通过 console.dir ("string"+object) 使用控制台

javascript - 在选择选项更改时更新跨度值

javascript - 如何在 Reactjs 中从另一个组件触发状态

reactjs - 如何将 .env.qa 或 .env.staging 与 create react app 一起使用

javascript - 我怎样才能从捕获中返回一个 Promise 然后拒绝下一个捕获?

javascript - Chrome 控制台中 ES6 解构的奇怪行为