2011-06-23 36 views
1

我如何才能找到一个关键字是否存在于使用split()分割的数组中?jquery match:如何查找数组中是否存在关键字?

// Get the object infomation. 
var keyword = 'story'; 
var path = $(this).find('a').attr('href'); 
var array_url = path.split('/'); 

if(keyword == array_url) alert('match!'); // does it work like this?? 

从代码的网址路径是这样的 - www.mysite.com/story/article-1

感谢。

编辑:

if ($.inArray(keyword, array_url)) alert('match!'); 

这将提醒匹配的数组中是否有与否的关键字。

+0

听起来类似于:http://stackoverflow.com/questions/143847/best-way-to-find-an-item-in-a-javascript-array – JMax

回答

2

if(keyword == array_url) alert('match!'); //它这样的工作吗?

嗯,是吗? ;)

jQuery有一个convenience function用于搜索数组。

if ($.inArray(keyword, array_url) > -1) alert('match!)'; 

或者,你的情况,你可以使用常规的JavaScript字符串操作:

if ($(this).find('a').attr('href').indexOf(keyword) > -1) alert('match!)'; 
+0

谢谢。看到我上面的编辑。但常规的JavaScript字符串操作正常。为什么不jQuery? – laukok

+0

@lauthiamkok:使用jQuery没有任何问题。它只是将一个字符串拆分为一个数组,然后在数组中搜索基本上没什么比“部分字符串匹配”有点复杂 – Tomalak

+1

我认为这是如何在jquery方法中做到的,如Dogbert所说,'if($ .inArray(keyword,array_url)!= -1)alert('match!');'谢谢! :-) – laukok

1

jQuery.inArray返回-1,如果没有找到匹配。

你应该做

if ($.inArray(keyword, array_url) != -1) alert('match!'); 
+0

谢谢。 jquery方法令人困惑! :-) – laukok

相关问题