javascript - JavaScript toLowerCase() 方法在我的反应应用程序中返回错误
问题描述
我正在尝试使用该toLowerCase()
方法将搜索字段中的所有字符转换为我的反应应用程序中的小写,但给出了错误typeError: Cannot read property 'toLowerCase' of undefined.
onSearchChange = (event) => {
const filteredRobots = this.state.robots.filter(robot => {
return robots.name.toLowerCase().includes(this.state.searchfield.toLowerCase());
})
解决方案
您没有提供足够的信息来解决问题,但这是我的最佳猜测:
您robots.name.toLowerCase()
应该改为(请注意上robot.name.toLowerCase()
的缺失)。s
robot
您正在尝试name
从要过滤的数组中读取属性,而不是正在操作的当前元素。
对于将来遇到此类错误时,我的建议是检查错误日志中的以下内容:
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined
at <myFunction>:1:27
这将读作TypeError in "myFunction" function at line 1, column (character) 27
. 然后,您就可以准确指出错误的来源。如果您仍然遇到问题,将有用的信息与您的问题一起发布。
推荐阅读
- tensorflow - 使用 tensorflow 通过索引张量从值张量中获取值
- c++ - 预期 '(' 用于函数样式转换或类型构造,同时使用宏的范围解析
- java - 如何在 java 和 rust 之间共享内存?
- arrays - 使用来自一列 VBA 的单元格值填充动态数组
- angular - Httpclient angular post请求如果失败,则在数据库中插入多个条目
- mysql - 如何在mysql中结转前一行值
- sql-server - 如何将数据从 azure databricks 加载到前提 SQL 数据库表?
- openscad - 有没有办法使用 OpenScad 拉伸对象
- java - 使用 Spring Data JPA 时无法提取 ResultSet
- nginx - 如何将 www.*.example.com 重定向到 *.example.com?