挑选出数组中字符串中的单词

时间:2018-04-08 02:37:08

标签: javascript jquery

我花了好几个小时,接近8个小时没有停在此,我正在尝试使用jQuery / JS创建两个数组,一个是动态的,因为它正在加载一个聊天脚本,并将被空格分割成一个数组,例如:

字符串:您好,我的名字是彼得

转换为(消息)数组:['hello','my','name','is','peter'];

我有一个用于查找特定单词的set数组,在本例中让我们使用: (find array)['hello','peter']但是,这个数组最多包含20个元素,我需要确保它有效地搜索消息数组,请帮忙。

2 个答案:

答案 0 :(得分:0)

如果我理解得很好,那么在给定第二个数组的情况下,你要求过滤一个字符串数组(来自传入的字符串)。

在您描述的情况下,您当然不必担心效率。除非你的传入信息非常大。

鉴于此,有十几个选项,我认为这是最简洁的:

Error(5,9): PL/SQL: SQL Statement ignored
Error(6,23): PL/SQL: ORA-00907: missing right parenthesis

您可以处理不变情况:

const whitelist = [
  'hello',
  'peter'
]
const message = 'hello my name is Peter'.split(' ')

const found =  message.filter(function(word) {
  return whitelist.indexOf(word) > -1
}

或使用ESS Set

const whitelistLower = whitelist.toLowerCase()
const foundInvariantCase = message.filter(function(word) { 
  return whitelist.indexOf(word.toLowerCase()) > -1
}

答案 1 :(得分:0)

我可以帮助你。

var arrayOfWords = $(".echat-shared-chat-message-body").last().text().split(" ");

该代码实际上正在运行!我在website进行了一次公开聊天,所以我可以测试一下。

所以只需用你的DOM对象替换单词REPLACE:)

var arrayOfWords = $("REPLACE").last().text().split(" ");