JavaScript 程序错误:Cannot use 'in' operator to search

今天编程时,JavaScript 程序报了这样的错误:Cannot use ‘in‘ operator to search for...,具体错误信息如下:

坦白说,这样的错误最难调试。因为它并不指向你所写的具体代码,而是泛泛指向了 lib.js 文件(该文件通常是第三方的打包压缩库),你几乎无法依据错误类型与错误指向来定位到实际编程中的错误位置。

怎么办?

这个时候,只有发挥“死磕”精神了!

死磕步骤:

  1. 依据故障页面以及错误信息,定位到出错的文件,这一点应该不难;
  2. 在出错的页面中,依次点击调试,看一看在哪一步开始报错 了!很关键!比如,一开始加载就出错了,那就定位到 js 文件的初始化部位;点击某个按钮出错了,那就定位到该按钮的对应事件代码中;以此类推。
  3. 在定位的代码范围内,采用“折中法”,一点点注释掉,刷新页面查看是否依然出错,如果出错,这说明注释掉部分的代码没有问题,放开注释,继续其他可疑的代码部分;如果没有错误了,恭喜你,你的定位位置就更加精细化了!总体思路就是如此,循环往复,相信,总会有“拨开云雾见朗朗青天”的欢喜的!
1 console.log(‘rendernerererer: ‘, schoolData)
2
3 const schoolNode = (
4     <Select style={{width: ‘100%‘}} placeholder="请选择所属学校">
5         { schoolData.length && schoolData.map((item, idx) => (
6             <Option key={idx} value={`${item.id}`}>{item.name}</Option>
7         )) }
8     </Select>
9 );

可以看到,rendernerererer 正确打印了出来,问题出在该行代码之后:

 1 const schoolData = this.state.schoolList;
 2 console.log(‘rendernerererer: ‘, schoolData)
 3
 4 const schoolNode = (
 5     <Select style={{width: ‘100%‘}} placeholder="请选择所属学校">
 6         { schoolData.length ? schoolData.map((item, idx) => (
 7             <Option key={idx} value={`${item.id}`}>{item.name}</Option>
 8         )) : <Option value=‘‘>请选择...</Option> }
 9     </Select>
10 );
 1 const schoolData = this.state.schoolList;
 2 console.log(‘rendernerererer: ‘, schoolData)
 3
 4 const schoolNode = (
 5     <Select style={{width: ‘100%‘}} placeholder="请选择所属学校">
 6         { schoolData.length ? schoolData.map((item, idx) => (
 7             <Option key={idx} value={`${item.id}`}>{item.name}</Option>
 8         )) : null }
 9     </Select>
10 );

JavaScript 程序错误:Cannot use 'in' operator to search

时间: 2024-10-25 11:51:07

JavaScript 程序错误:Cannot use 'in' operator to search的相关文章

[转]JavaScript程序编码规范

原文:http://javascript.crockford.com/code.html 作者:Douglas Crockford 译文:http://www.yeeyan.com/articles/view/cloudwater/4042 译者:cloudwater 更新:2009-12-13 01:08:29 这是一套适用于JavaScript程序的编码规范.它基于Sun的Java程序编码规范.但进行了大幅度的修改, 因为JavaScript不是Java. 软件的长期价值直接源于其编码质量.

jquery each报 Uncaught TypeError: Cannot use &#39;in&#39; operator to search for错误

用$.each()来遍历后台传过来的json数据.直接遍历传过来的数据时就发生 Uncaught TypeError: Cannot use 'in' operator to search for 这个error. 原因是:因为我们后台传过来的是json数据,但我们$.each()遍历的数据是要javascript对象;所以要把它转给javascript对象.可以使用 JSON.parse() || $.parseJSON()  这个两个方法来转换. 错误代码: <script> $(docu

.net程序错误:BadImageFormatException....如果在安装32位Oracle客户端组件的情况下以64位模式运行

OracleClient 程序要连oracle数据库,提示如下错误: 数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题. 1.IIS部署时 网上搜索了一下,有各种办法,试过多安装了一个64位的oracle11g客户端,还是不行.后来想到是否是iis的问题,之前配置iis的时候好像碰到过32位64位的一个设置,看了以前的博客之后把应用程序池做了如下设置

解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误

在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误. 1.检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26 Copyright (c) 1991, 2005, Oracle. All rights reserved. 系统参数文件为D:/oracle/product/10.2.0/db_

www.mscode.cc:autohal.exe 应用程序错误

电脑故障,需要重装系统.在重装系统的过程当中,出现www.mscode.cc:autohal.exe 应用程序错误,"0x004366ee"指令引用的"0x00000008"内存,该内存不能为"read".重装了好几个别的版本,问题依旧. 解决办法:查资料,发现这个问题一般是由于系统时间错误而引起的,进入BIOS把你的系统时间调回正常值就OK了!! 原因:ghost完成后,系统要给计算机以当前时间来命名,问题就在这里,BIOS的时间不对,调整一下

.net 禁止远程查看应用程序错误的详细信息,服务器上出现应用程序错误

打开页面时出现以下错误 ? "/"应用程序中的服务器错误. 运行时错误 说明:?服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因).但可以通过在本地服务器计算机上运行的浏览器查看.? 详细信息:?若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的"web.config"配置文件中创建一个 <customErrors> 标记.然后应将此 <cust

Eclipse去除JavaScript验证错误

这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 第二步: 右键项目 -> properties -> Buil

[JavaScript] 初中级Javascript程序员必修学习目录

很多人总感觉javascript无法入门,笔者在这里写一下自己的学习过程,以及个人认 为的最佳看书过程,只要各位能按照本人所说步骤走下去,不用很长时间,坚持 个3个月,你的js层级会提高一个档次,无他,唯有努力与坚持,请看: 1. 从头到尾对一遍<<Javascript高级程序设计>>,不懂的地方可以暂时掠过,给自己对javascript有一个大体的印象 2. 认认真真的读完这本书:<<编写可维护的javascript>>,从编码规范,技巧,模式,等各个方面

javascript 寻找错误方法

这篇博客必须写了,它浪费我了一个上午的时间.为了以后能快速寻找到这方面的错误,节约更多的时间. 情况是这样的:我写了一个后台管理系统是引用Marix Admin的,因为这个系统包含了很多很多框架,如jquery,bootstrap,还有它自身的框架系统marix,一大堆的js和css文件.你想引入外面的框架时,就会和原来的库文件产生冲突,还有就是书写的格式问题. 针对上面两大问题,解决方案如下: 首先查看网站效果,如果html没有显示出来,可能是html格式的问题,如果css格式没有显示出来可能