Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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/3/arrays/12.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 查找此文本所属的数组元素_Javascript_Arrays_Algorithm - Fatal编程技术网

Javascript 查找此文本所属的数组元素

Javascript 查找此文本所属的数组元素,javascript,arrays,algorithm,Javascript,Arrays,Algorithm,基本上我有一系列的句子,比如: [ 'Hi I am Mark. I love plains!', 'Some of my friends , like football. 5- 3 =2. R-a-ndom syntaxx.. And I\'m too', 'Mark is a great guy! We love him' ] 和原始文本数组。连接(“”): 该程序将从文本到用户的每个单词显示1秒,然后显示下一个单词 例如:Hi.1秒,替换为..I。。1秒并替换为..am

基本上我有一系列的句子,比如:

[
  'Hi I am Mark. I love plains!', 
  'Some of  my friends , like football. 5- 3 =2. R-a-ndom syntaxx.. And I\'m too', 
  'Mark is a great guy! We love him'
]
和原始文本
数组。连接(“”)

该程序将从文本到用户的每个单词显示1秒,然后显示下一个单词

例如:
Hi
.1秒,替换为..
I
。。1秒并替换为..
am
.1秒..等,1个单词-1秒读取

用户可以完成任何单词的阅读

我拥有的:一组句子,
wordIndex
——他读完的文本中单词的索引,
rawText
——没有数组的整个文本

我试图做的是在他读完的句子数组中找到索引

示例:他完成了单词
plains
原始文本中的
[6]
(单词索引)和句子数组中的
[0]
索引(我需要找到的索引)


此外,文本可能非常大(整本书),我需要一个解决方案,也很好地优化。谢谢

你可以在句子数组中循环,计算出每行有多少个单词。把它们加在一起,直到你找到你的单词索引

var words = 0;
for(var i = 0; i < sentences.length; i++)
{
    words += sentences[i].split(" ").length;
    if(words > wordIndex)
        return i;
}
var-words=0;
for(var i=0;i<句长;i++)
{
单词+=句子[i]。拆分(“”)。长度;
如果(单词>单词索引)
返回i;
}
这将返回单词所在句子的索引


注意
words>wordIndex
,因为您的wordIndex是零索引的,数组的长度将返回一个非零索引的值。

所有已发布的内容都是程序描述。然而,我们需要你去。我们不能确定你想从我们这里得到什么。请在您的帖子中加入我们可以回答的有效问题。提醒:确保你知道;要求我们为您编写程序和建议是离题的。如果逐字显示,为什么要将它们放入数组中?@FrankerZ:
我试图做的是在数组中找到他完成阅读的索引。
听起来对我来说非常具体。没有看到你在尝试,赫克托:不会对他有多大帮助,因为一个单词可以在数组的多个部分中。比如
I
或者
Mark
。好的解决方案,我会试试看
var words = 0;
for(var i = 0; i < sentences.length; i++)
{
    words += sentences[i].split(" ").length;
    if(words > wordIndex)
        return i;
}