Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示在字符串indexOf中找到的子字符串?_Javascript_Arrays_String_Substring_Indexof - Fatal编程技术网

Javascript 显示在字符串indexOf中找到的子字符串?

Javascript 显示在字符串indexOf中找到的子字符串?,javascript,arrays,string,substring,indexof,Javascript,Arrays,String,Substring,Indexof,我有一个包含大量“子字符串”的数组: 然后是一个字符串,例如: var str = "Hunt's 100% Natural Tomato Sauce, 15 Oz"; 我可以使用indexOf()和some()在字符串中找到子字符串“番茄酱” 但这只会返回真/假。我需要将变量matchingSubstring设置为字符串中匹配的子字符串 if(???) { var matchingSubstring = substring // tomato sauce } 我走错方向了吗?任何帮助

我有一个包含大量“子字符串”的数组:

然后是一个字符串,例如:

var str = "Hunt's 100% Natural Tomato Sauce, 15 Oz";
我可以使用indexOf()和some()在字符串中找到子字符串“番茄酱”

但这只会返回真/假。我需要将变量matchingSubstring设置为字符串中匹配的子字符串

if(???) {
  var matchingSubstring = substring // tomato sauce
} 
我走错方向了吗?任何帮助都会很好。

用于获得结果

substrings.find(function(v) {return str.toLowerCase().indexOf(v) >= 0;})
请注意,这将返回第一个匹配项,如果要查找所有匹配项,可以使用

用于获取结果

substrings.find(function(v) {return str.toLowerCase().indexOf(v) >= 0;})
请注意,这将返回第一个匹配项,如果要查找所有匹配项,可以使用

过滤它:

var substring=[“番茄”、“番茄酱”、“番茄酱”、“橙汁”、“青苹果”、“红苹果”、“猫粮”];
var str=“亨特100%天然番茄酱,15盎司”;
const matches=substring.filter(函数(v){return str.toLowerCase().indexOf(v)>=0;});
如果(匹配。长度>0)
log(matches.sort((a,b)=>b.length-a.length)[0]);
其他的
控制台日志(“失败”)过滤它:

var substring=[“番茄”、“番茄酱”、“番茄酱”、“橙汁”、“青苹果”、“红苹果”、“猫粮”];
var str=“亨特100%天然番茄酱,15盎司”;
const matches=substring.filter(函数(v){return str.toLowerCase().indexOf(v)>=0;});
如果(匹配。长度>0)
log(matches.sort((a,b)=>b.length-a.length)[0]);
其他的

控制台日志(“失败”)过滤器返回多个(如果有多个匹配项)结果。既然“番茄酱”是最匹配的子字符串,我怎么让它返回呢?@RyanJay:你可以按字符串长度排序,然后返回第一个/最后一个项目。我将添加它。过滤器返回多个(如果有多个匹配项)结果。既然“番茄酱”是最匹配的子字符串,我怎么让它返回呢?@RyanJay:你可以按字符串长度排序,然后返回第一个/最后一个项目。我要补充一点。
substrings.find(function(v) {return str.toLowerCase().indexOf(v) >= 0;})