You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CRUD脚本报Uncaught TypeError: Cannot read property 'filter' of undefined求助

报错原因

Uncaught TypeError: Cannot read property 'filter' of undefined 报错的直接原因是代码中调用filter方法的data变量在search函数执行时为undefined,而filter是仅数组类型支持的实例方法。

排查修复方案

  • 检查data变量的赋值时机
    如果data是后端接口返回的动态数据,必须保证search函数的触发逻辑(比如搜索框的事件绑定)在接口请求成功、data被赋值为数组之后执行;如果data是页面静态数据源,要确认数据源初始化逻辑在search函数执行前完成。
  • 新增变量类型校验,避免报错
    可修改filter调用部分的代码,提前对data的类型做判断,异常场景默认返回空数组阻止报错,同时也可以对r[1]增加非空判断避免后续调用indexOf时报错:
var resultsArray = Array.isArray(data) ? data.filter(function(r){
  return r && r[1] && r[1].indexOf(searchInput) !== -1;
}) : [];
  • 检查data变量的作用域
    如果data是在其他函数内部声明的局部变量,search函数无法访问到对应值,需要将data提升到两个函数共同的父级作用域声明,或者将data作为参数传入search函数使用。

内容的提问来源于stack exchange,提问作者Scott Harmon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 05:45:03