使用javascript查找字符串中子字符串的所有索引以及相应的限制

使用javascript查找字符串中子字符串的所有索引以及相应的限制,javascript,Javascript,我需要一个函数,该函数使用javascript返回较大字符串中子字符串位置的信息。我不知道这样的东西是否存在,所以我想在这里碰碰运气 例如,具有以下输入字符串: “狗象你让我再考一次什么论文” 如果我有以下数组: 数组(“狗”,“测试”,“不是这个”,“见鬼”,“论文”) 对输入字符串中所有这些元素的位置进行索引的最有效方法是什么?让函数返回包含以下信息的对象: “狗”-从0到3 “测试”-从(测试开始的地方)到(测试结束的地方) “不是这个”-null(不在字符串中) “真见鬼”-null(

我需要一个函数,该函数使用javascript返回较大字符串中子字符串位置的信息。我不知道这样的东西是否存在,所以我想在这里碰碰运气

例如,具有以下输入字符串:

“狗象你让我再考一次什么论文”

如果我有以下数组:

数组(“狗”,“测试”,“不是这个”,“见鬼”,“论文”)

对输入字符串中所有这些元素的位置进行索引的最有效方法是什么?让函数返回包含以下信息的对象:

  • “狗”-从0到3
  • “测试”-从(测试开始的地方)到(测试结束的地方)
  • “不是这个”-null(不在字符串中)
  • “真见鬼”-null(不在字符串中)
  • “论文”-从(论文开始的地方)到(论文结束的地方)
有人知道吗?
太好了

注意这是区分大小写的:

var str=“狗象你我测试另一个测试什么论文”;
var words=[“狗”,“测试”,“不是这个”,“见鬼”,“论文”];
var索引=words.map(函数(word){
var start=str.indexOf(word);
如果(开始==-1){
返回null;
}
返回{word,start,end:start+word.length};
});

控制台日志(索引)一个循环,
.indexOf()
和数学((它的结尾处)”=
索引+长度
)不能100%确定你在问什么。您想要一个javascript函数,它接收一个字符串和一个字符串数组,然后在该字符串中搜索数组中的每个项,然后返回其索引的对象或null?输出对象的格式应该是什么?应该是字典吗?两个阵列?完美!我想到了类似的东西,但我想确保它是最有效的。谢谢:)Native for循环可能更有效,但
map
更清晰。我不知道投我反对票的人是否会解释原因。