javascript - 可以使用对象方法或 JavaScript 中的其他方式进一步优化吗?

标签 javascript reactjs

您好,我正在尝试从 React javascript 中的数组中删除用户,文本被赋予需要删除的函数并通过下面的函数运行,this.state.users 包含对象具有如下属性:

0: {user_id: "001" , first_name: "john", last_name: "doe", email: "john@doe.com"}

1: {user_id: "002" , first_name: "mike", last_name: "ty", email: "mike@ty.com"}

我想知道是否可以针对大量数据进一步优化?或者已经优化了谢谢!

removeUser(text){
  var updatedUsers = this.state.users;
  var i = 0;
  for (i = 0; i< updatedUsers.length;i++)
  {
    if(updatedUsers[i].user_id == text)
      break;
    }
    updatedUsers.splice(i,1);
    this.setState({users: updatedUsers});
  }
}

最佳答案

您可以使用数组的过滤器:

removeUser (text) {
  this.setState({
    users: this.state.users.filter((u) => u.user_id !== text)
  })
}

关于javascript - 可以使用对象方法或 JavaScript 中的其他方式进一步优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287701/

相关文章:

javascript - JQuery 选择器 : get one of multiple class names, 作为字符串

javascript - 在 Google 标记拖动上显示按钮

javascript - 排队 React.js 更新以避免浏览器挂起

javascript - 用于跨不同语言/网站从 iframe 加载正确语言内容的 CSS/Javascript?

javascript - Google 可以理解从脚本添加的文本吗?

javascript - 带搜索框的 D3 图表

node.js - 为什么 npm install 会因 node-sass 相关错误而失败?

javascript - 如何在 Next.js 组件中使用 SVG 图像?

css - 在 React 中缓和过渡

javascript - Webpack 通过调用 sockjs-node/info 记录错误 "net::ERR_SSL_PROTOCOL_ERROR"