使用JQuery检查数组的索引中是否存在字符串
Use JQuery to check if a String exists in an index of an Array
当前我正在执行以下操作来检查数组中是否存在String
:
$('#finance').click(function(){ // Show Finance & OD
console.log('Finance jobs');
for(i = 0; i < jobs.length; i ++){
if(jobs[i].department === "Finance & OD"){
console.log(jobs[i]);
}
}
});
但是,我只想检查sub string
是否存在,并且它是否区分大小写。所以我尝试了这个,但没有奏效:
$('#finance').click(function(){ // Show Finance & OD
console.log('Finance jobs');
for(i = 0; i < jobs.length; i ++){
if(jobs[i].department.toLowerCase().indexOf("Finance & OD") >= 0){
console.log(jobs[i]);
}
}
});
我在控制台窗口中得到了这个错误:未捕获类型错误:无法读取未定义的的属性"toLowerCase"
我想知道如何修复我的代码,这样我就可以检查整个字符串,而不是检查字符串的一部分,比如"Finance",并且它不会区分大小写。
这样做:
$('#finance').click(function(){ // Show Finance & OD
console.log('Finance jobs');
for(i = 0; i < jobs.length; i ++){
if(jobs[i].department != 'undefined' && jobs[i].department.toLowerCase().indexOf("Finance & OD") >= 0){
console.log(jobs[i]);
}
}
});
我认为问题是,你循环通过一些"undineds",从而得到一个未覆盖的异常。
这是您可以检查特定单词,也不区分大小写:
var jobs = ["Finance & OD", "texT"];
for( var i in jobs ) {
var regex = new RegExp( "Finance", "i" );
if( jobs[i].match( regex ) ) {
console.log(jobs[i]);
}
}
您需要检查是否有未定义的。试试这个:
if(jobs[i].department != "undefined" && jobs[i].department.toLowerCase().indexOf("Finance & OD") >= 0){
console.log(jobs[i]);
}
相关文章:
- 用于检查数组中是否存在元素的javascript自定义方法
- 是否存在React Native“;WEB代码安全防护”;
- 验证会话中是否存在对象's数组
- 如何查找值是否存在于二叉树中
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 检查是否存在任意控制器/操作
- Javascript滑块不滑动,如何判断是否存在JS冲突
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- javascript测试是否存在两个标志中的任何一个
- 如何使用javascript检查移动sd卡中是否存在文件
- 当提供函数名称时,检查函数是否存在于同一作用域中
- 需要帮助使用JQuery.inArray()检查值是否存在
- 确定元素是否存在
- 使用javascript检查服务器上是否存在html文件
- 是否存在类似ExtJS 4的框架;正常的“;网站