我有一个方法:
function isSubString(word,array){}
这个方法,给定一个单词和一个单词的数组,尝试该单词是数组中其他单词的子串。
for(var i=0;i<array.length;i++){
if(JSON.stringify(array[i]).indexOf(JSON.stringify(word))>0){
return 1;
}
}
return 0;
例如array=['home','dog']
和word='ho'
;
Word ho
是home
的子字符串,但此方法错误。有人可以帮帮我吗?
答案 0 :(得分:4)
您不需要JSON.stringify()
,请使用String.prototype.indexOf()
indexOf()
方法返回第一次出现的指定值的调用String对象中的索引,从fromIndex
开始搜索。如果找不到值,则返回-1
。
if(array[i].indexOf(word) >-1 ){
答案 1 :(得分:1)
function isSubstring(word, array) {
return array.some(function(el){return el.indexOf(word) != -1})
}
var array = ['home','dog']
var word = 'ho'
var isSub = isSubstring(word, array)
// Demo output
document.write(isSub)
如果您希望所有元素与子字符串匹配,请使用array.every()
代替