基本上我有一系列的句子,例如:
[
'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'
]
原始文本array.join('')
:
Hi I am Mark. I love plains! Some of my ...
程序将显示从文本到用户的每个单词1秒钟,然后显示然后显示下一个单词。
像:Hi
.. 1秒,然后替换为.. I
.. 1秒,然后替换为.. am
.. 1秒..etc。,等等,一个字- 1秒阅读。
用户可以阅读完所有单词。
我所拥有的:一整套句子,wordIndex
-他完成阅读的文本单词的索引,rawText
-整个没有数组的文本。
我想做的就是在他读完的句子中找到索引。
示例:他在单词plains
上完成了单词[6]
(wordIndex),在原始文本中使用了[0]
索引(我需要找到该索引)在句子数组中。
此外,文本可能非常大(整本书),因此我需要一种优化的解决方案。谢谢!
答案 0 :(得分:1)
您可以遍历句子数组并找出每行中有多少个单词。将它们加在一起,直到达到单词索引。
var words = 0;
for(var i = 0; i < sentences.length; i++)
{
words += sentences[i].split(" ").length;
if(words > wordIndex)
return i;
}
这将返回单词所在句子的索引。
注意words > wordIndex
,因为您的wordIndex是零索引的,并且数组的长度将返回一个不为零的值。