gpt4 book ai didi

jquery - JavaScript - 未捕获类型错误 : Cannot read property 'search' of undefined

转载 作者:行者123 更新时间:2023-12-01 04:45:57 25 4
gpt4 key购买 nike

当我执行 Javascript 时,我收到此错误:

Uncaught TypeError: Cannot read property 'search' of undefined

我不知道如何修复它以及为什么会显示它。

我在数组中有对象,

示例:

AsukohaArray = [{"Punkt":[[58.1056],[23.2589]],
"name":"Haapsalu Raamat",
"PunktiID": 23}];

我的代码

$(document).ready(function() {
$("input[type='search']").keyup(function() {
var searchTerm = $(this).val();
var myExp = new RegExp(searchTerm, "i");
var output = "<ul id='result'>";
$.each(AsukohaArray, function(key, val) {
//console.log(val.name);
if ((val.name).search(myExp) != -1) {
output += '<li>';
output += val.name;
output += '</li>';
}
});
console.log(output);
output += "</ul>";
$('div#update').html(output);
});
});

HTML

<ons-page id="my-page">
<ons-toolbar>
<div class="left">
<ons-toolbar-button ng-click="menu.toggleMenu()"><ons-icon icon="ion-navicon" style="font-size: 32px; width: 1em;"></ons-icon></ons-toolbar-button>
</div>

<div class="center">Kaardi vaade</div>
</ons-toolbar>
<div id="nupuriba">
<input type="search" class="search-input" id="#search">
</div>
<div id="update"></div>
<div id="map-canvas">
</div>
</ons-page>

当我插入“Haapsalu”时,结果是:

Haapsalu piiskopilinnus哈普萨鲁艺术中心哈普萨鲁·拉马特未捕获的类型错误:无法读取未定义的属性“搜索”

我已经搜索了该错误,但没有结果,没有找到类似的内容。

最佳答案

您的“val”(数组中的项目)是原始数据类型,还是包含属性“name”的对象?如果您的 val 是 String 类型,您应该直接“搜索”它。您的错误表明“val”不包含名为“name”的属性。

此外,由于您使用的是正则表达式,因此您可能应该使用

if( val.match(myExp) > 0 )

或者更好,如果您只关心 bool 结果,

if ( val.test(myExp) )

如果我错了,并且你的 .name 属性存在,如果它是字符串,则直接使用它,不带括号:

if( val.name.test(myExp) )

关于jquery - JavaScript - 未捕获类型错误 : Cannot read property 'search' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com