我想知道一个字符串是否包含数组的任何成员。如果它包含,
返回该成员。
var cat_list = ["apple", "james", "hello", "drink"];
var title = "James always drinks water"
在这种情况下,应该同时返回“James”和“drink”
答案 0 :(得分:1)
您可以遍历数组并使用indexOf
进行检查。
var foundWords = [];
for(var i=0; i<cat_list.length; i++){
var currentWord = cat_list[i];
if(title.indexOf(currentWord)>-1){
foundWords.push(currentWord);
}
}
执行上述for
语句后,数组foundWords
将包含标题中的founds字样。
解决上述问题的另一种方法是使用如下Array.prototype.reduce()方法:
var foundWords = catList.reduce(function(foundWords, currentWord){
if(title.indexOf(currentWord)>-1){
foundWords.push(currentWord)
}
return foundWords;
},[]);
答案 1 :(得分:1)
您可以在cat_list
中设置循环并获得结果。
var cat_list = ["apple", "james", "hello", "drink"];
var title = "James always drinks water"
var res = cat_list.filter((item)=>{
return title.indexOf(item) !== -1;
});
console.log(res);
答案 2 :(得分:0)
var cat_list = ["apple", "james", "hello", "drink"];
var title = "James always drinks water";
var member = [];
cat_list.map((value)=>{
title.includes(value) && member.push(value);
});
console.log(member);
答案 3 :(得分:0)
第一个问题
使用Array [index]
z= cat_list[1]+cat_list[3];
alert(z);
第二个问题
使用substring()方法从两个指定索引之间的字符串中提取字符,并返回新的子字符串。
v= title.substring(0,5)+title.substring(13,18);
alert(v);
答案 4 :(得分:0)
您可以在单词部分中拆分给定的字符串,然后检查小写单词是否包含目录中的单词。
String#slice
,包含空白字符的正则表达式,
Array#some
其中只有一个找到true
的{{1}}值,
String#toLowerCase
获取小写字母与
String#includes
用于检查filter
,然后检查some
。
filter
&#13;