我想检查一个数组中的字符串是否只有一个单词。
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"
,我只想消除数组值,如果包含它,则不是它。任何解决方案?
答案 0 :(得分:3)
看看filter
。您可以使用它根据谓词函数从数组中删除项目。
function nonessential(words) {
var targetWords = ['the', 'targetRegexthis', 'than', 'a'];
return words.filter(function(word) {
return targetWords.indexOf(word) < 0;
});
}
在指定非必要词时,可能会考虑使用正则表达式进行更精细的控制。