检查字符串是否只有某些单词javascript?

时间:2015-11-30 01:11:17

标签: javascript arrays

我想检查一个数组中的字符串是否只有一个单词。

var nonessential = function(){
for (var i=0; i < arr.length; i++){
    var stringnumber = arr[i];
if (stringnumber.indexOf("the")>-1 || stringnumber.indexOf("this")>-1 || stringnumber.indexOf("than")>-1 || stringnumber.indexOf("a")>-1){
}else{
    essential = arr.slice(i,1)
    console.log(essential)
}
}

因此,例如,如果数组是["hey","man","a","this"],我希望新数组(必需)为["hey","man"]。问题是,因为indexOf检查了a,所以它消除了#34; man&#34;。如果字符串仅为"a",我只想消除数组值,如果包含它,则不是它。任何解决方案?

1 个答案:

答案 0 :(得分:3)

看看filter。您可以使用它根据谓词函数从数组中删除项目。

function nonessential(words) {
  var targetWords = ['the', 'targetRegexthis', 'than', 'a'];
  return words.filter(function(word) {
    return targetWords.indexOf(word) < 0;
  });
}

在指定非必要词时,可能会考虑使用正则表达式进行更精细的控制。