查找此文本属于哪个数组元素

时间:2018-07-25 18:39:43

标签: 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'
]

原始文本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]索引(我需​​要找到该索引)在句子数组中。

此外,文本可能非常大(整本书),因此我需要一种优化的解决方案。谢谢!

1 个答案:

答案 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是零索引的,并且数组的长度将返回一个不为零的值。

相关问题