var tomatch = "";
var sets= new Array()
sets[0]='nnd';
sets[1]='nndha';
sets[2]='ch';
sets[3]='gn';
作为一个例子...... 时
var tomatch = "nn";
tomatch
和sets[0] & sets[1]
需要tomatch = "c"
写出结果。
与sets[2]
时一样,它应与tomatch = "dh"
匹配
我怎么能这样做?
我不需要奥得河
如果sets[1]
,它也可以是{{1}}
我对javascript没有很好的了解。
怎么做?
答案 0 :(得分:2)
indexof(“要匹配的字符串”)将返回字符串的索引,如果找不到字符串,则返回-1。只需遍历数组并检查indexof(“要匹配的字符串”)的返回值是否为-1。
sets[i].indexOf("nn")!=-1
答案 1 :(得分:2)
使用以下函数返回匹配单词的数组,否则提醒no match
:
function find_match(to_match)
{
match_array=new Array();
for(i in sets)
{
if(sets[i].indexOf(to_match)!=-1)
match_array.push(sets[i]);
}
return (match_array.length==0? alert('No match'): match_array);
}
要查找字符串'n'
的匹配项,您需要致电find_match('n')
,这将返回nnd,nndha,gn
答案 2 :(得分:0)
var tomatch = "nn";
var sets= new Array()
sets[0]='nnd';
sets[1]='nndha';
sets[2]='ch';
sets[3]='gn';
for(var i=0; i < sets.length ; i++){
if(sets[i].indexof(tomatch) !== -1){
return sets[i];
}
}
答案 3 :(得分:0)
使用过滤器:
> sets.filter(function(x) { return x.indexOf("nn") !== -1; })
[ 'nnd', 'nndha' ]
> sets.filter(function(x) { return x.indexOf("c") !== -1; })
[ 'ch' ]
答案 4 :(得分:0)
它应该是:
function isInArray(string){
return sets.indexOf(string)>-1;
}
alert(isInArray("nn"));
或者与jQuery:
jQuery.inArray("nnd",sets);
它将返回“nnd”
的索引答案 5 :(得分:0)
这不像@Nirk的解决方案那样整洁(我总是忘记Array.filter)但你可以根据他的回答用Array.filter替换我的测试函数:
function test(a, f) {
var i = 0,
result = [];
for (i=0; i<a.length; i++) {
result.push(f(a[i]));
}
return result;
}
function txtMatch(s) {
var pattern = new RegExp('' + s + '');
return function(t) {
return pattern.test(t);
};
}
var sets= new Array()
sets[0]='nnd';
sets[1]='nndha';
sets[2]='ch';
sets[3]='gn';
var toMatchFirst = test(sets, txtMatch('nn'));
var toMatchSecond = test(sets, txtMatch('c'));
console.log(toMatchFirst.join(', '));
console.log(toMatchSecond.join(', '));
我刚刚创建了一个快速字符串匹配函数,然后遍历数组,测试每个函数,并返回结果数组。
答案 6 :(得分:0)
谢谢大家,但这是我想要的,我认为匹配cmd适合我的任务。
var sugest = "";
var matchkeyword = "nn";
var sets= new Array()
sets[0]='nnd';
sets[1]='nndha';
sets[2]='ch';
sets[3]='gn';
sets[4]='nch';
sets[5]='fu';
sets[6]='Nui';
for(var i=0; i < sets.length ; i++){
if(sets[i].match(matchkeyword) != null) {
sugest = sugest + "<br>" + sets[i];
}
}
y=document.getElementById("sugdiv");
y.innerHTML = sugest;