在对象数组中搜索字符串
Search Object Array for string
我正在尝试搜索对象数组中包含的字符串。
image_array = [
{image: '/assets/monkey-face.jpg', link_url: '/animal/showit?animal=Monkey'},
{image: '/assets/tiger-face.jpg', link_url: '/animal/showit?animal=Tiger'}
]
在url参数showit或图像中找不到字符串"monkey"或"tiger"。
image_array.IndexOf
jQuery.inArray
如果我试图循环遍历数组/对象并搜索我得到的字符串:
"Object #<Object> has no method 'search'"
我哪里错了?为什么当对象中有字符串时,它会返回-1?
试试这个:
for(var i = 0; i < image_array.length; i++){
if(image_array[i].link_url.indexof("Monkey") != -1){
// Item found
}
}
数组没有搜索方法,它是为字符串搜索的。尝试$.grep()
var result = $.grep(image_array, function(item){
return item.link_url.indexOf('Monkey') >= 0;
})
//result will be an array with all items having `Monkey` in link_url
console.log(result)
演示:Fiddle
由于您试图检查对象值中是否包含字符串,假设该字符串未用作任何键值,请尝试以下操作:
return JSON.stringify(image_array).indexOf("monkey") > 0
希望这有帮助:)
相关文章:
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 在javascript中搜索字符串
- td:包含变量中的搜索字符串
- 在元素中搜索字符串,然后将其放入条件语句中
- Javascript正则表达式,用于验证接收到的MySQL全文搜索的搜索字符串
- 在对象数组中搜索字符串
- 在HTML中搜索字符串并返回True的Javascript条件
- 使用Tilde(~)和search()搜索字符串
- 在DOM中搜索字符串时不区分大小写
- 如何以编程方式输入搜索字符串并触发谷歌地图API的places_changed
- 在 Enter 上,在 db 中搜索字符串
- 使用引导表插件,如何在首次加载时设置搜索字符串
- 如何在 Firefox 25 中获取查找栏的最后一个搜索字符串
- JavaScript 搜索字符串包含
- 如何确定搜索字符串是否被较大字符串中的锚标记包装 - javascript 正则表达式
- 使用 forEach 在多个数组中搜索字符串
- 如何编写 angularjs 过滤器来搜索字符串片段/字符串序列
- Javascript:搜索字符串时数组中的多个表达式
- 如何使用 javascript 在
中搜索字符串,然后添加到该 id - 谷歌表格循环搜索字符串并清除相邻单元格