JavaScript 程序錯(cuò)誤Cannot use 'in' operator to search的解決方法
今天編程時(shí),JavaScript 程序報(bào)了這樣的錯(cuò)誤:Cannot use 'in' operator to search for...,具體錯(cuò)誤信息如下:

坦白說(shuō),這樣的錯(cuò)誤最難調(diào)試。因?yàn)樗⒉恢赶蚰闼鶎?xiě)的具體代碼,而是泛泛指向了 lib.js 文件(該文件通常是第三方的打包壓縮庫(kù)),你幾乎無(wú)法依據(jù)錯(cuò)誤類型與錯(cuò)誤指向來(lái)定位到實(shí)際編程中的錯(cuò)誤位置。
怎么辦?
這個(gè)時(shí)候,只有發(fā)揮“死磕”精神了!
死磕步驟:
依據(jù)故障頁(yè)面以及錯(cuò)誤信息,定位到出錯(cuò)的文件,這一點(diǎn)應(yīng)該不難;
在出錯(cuò)的頁(yè)面中,依次點(diǎn)擊調(diào)試,看一看在哪一步開(kāi)始報(bào)錯(cuò) 了!很關(guān)鍵!比如,一開(kāi)始加載就出錯(cuò)了,那就定位到 js 文件的初始化部位;點(diǎn)擊某個(gè)按鈕出錯(cuò)了,那就定位到該按鈕的對(duì)應(yīng)事件代碼中;以此類推。
在定位的代碼范圍內(nèi),采用“折中法”,一點(diǎn)點(diǎn)注釋掉,刷新頁(yè)面查看是否依然出錯(cuò),如果出錯(cuò),這說(shuō)明注釋掉部分的代碼沒(méi)有問(wèn)題,放開(kāi)注釋,繼續(xù)其他可疑的代碼部分;如果沒(méi)有錯(cuò)誤了,恭喜你,你的定位位置就更加精細(xì)化了!總體思路就是如此,循環(huán)往復(fù),相信,總會(huì)有“撥開(kāi)云霧見(jiàn)朗朗青天”的歡喜的!
console.log('rendernerererer: ', schoolData)
const schoolNode = (
<Select style={{width: '100%'}} placeholder="請(qǐng)選擇所屬學(xué)校">
{ schoolData.length && schoolData.map((item, idx) => (
<Option key={idx} value={`${item.id}`}>{item.name}</Option>
)) }
</Select>
);

可以看到,rendernerererer 正確打印了出來(lái),問(wèn)題出在該行代碼之后:
const schoolData = this.state.schoolList;
console.log('rendernerererer: ', schoolData)
const schoolNode = (
<Select style={{width: '100%'}} placeholder="請(qǐng)選擇所屬學(xué)校">
{ schoolData.length ? schoolData.map((item, idx) => (
<Option key={idx} value={`${item.id}`}>{item.name}</Option>
)) : <Option value=''>請(qǐng)選擇...</Option> }
</Select>
);
const schoolData = this.state.schoolList;
console.log('rendernerererer: ', schoolData)
const schoolNode = (
<Select style={{width: '100%'}} placeholder="請(qǐng)選擇所屬學(xué)校">
{ schoolData.length ? schoolData.map((item, idx) => (
<Option key={idx} value={`${item.id}`}>{item.name}</Option>
)) : null }
</Select>
);
以上這篇JavaScript 程序錯(cuò)誤Cannot use 'in' operator to search的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript 硬盤(pán)序列號(hào)+其它硬件信息
給政府做的,完全要求高,居然用硬盤(pán)序列號(hào),MAC地址,CPU地址三項(xiàng)來(lái)綁定指定的人來(lái)操作。2008-12-12
JavaScript實(shí)現(xiàn)重置表單(reset)的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)重置表單(reset)的方法,涉及javascript中reset()方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
JavaScript實(shí)現(xiàn)的微信二維碼圖片生成器的示例
二維碼分享功能大多是由后端實(shí)現(xiàn)的,對(duì)服務(wù)器的負(fù)載較重,這里有一個(gè)前端實(shí)現(xiàn)的版本,本文介紹了JavaScript實(shí)現(xiàn)的微信二維碼圖片生成器的示例,有需要的可以了解一下。2016-10-10
JS異步文件分片斷點(diǎn)上傳的實(shí)現(xiàn)思路
在項(xiàng)目中有時(shí)會(huì)遇到大文件上傳,經(jīng)常會(huì)出現(xiàn)鏈接超時(shí)的問(wèn)題,所以就需要使用文件分片上傳的方式來(lái)上傳大文件。下面通過(guò)本文給大家介紹js異步文件分片斷點(diǎn)上傳的實(shí)例代碼,需要的的朋友參考下吧2016-12-12
JavaScript利用el-table實(shí)現(xiàn)繪制熱度表
這篇文章主要為大家詳細(xì)介紹了JavaScript如何利用el-table實(shí)現(xiàn)繪制熱度表,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03

