如何使用indexof检查字符串是否为子串[JAVASCRIPT]

时间:2016-01-07 14:52:39

标签: javascript arrays

我有一个方法:

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 hohome的子字符串,但此方法错误。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:4)

您不需要JSON.stringify(),请使用String.prototype.indexOf()

  

indexOf()方法返回第一次出现的指定值的调用String对象中的索引,从fromIndex开始搜索。如果找不到值,则返回-1

if(array[i].indexOf(word) >-1 ){

答案 1 :(得分:1)

使用array.some()

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()代替