匹配文本和javascript数组

匹配文本和javascript数组,javascript,Javascript,我有一个文本和标签数组。我正在寻找一种方法来确定文本是否包含数组中的任何触发字。如果是,则写入标记的码字(数组中的第二个参数) 有没有更好的办法 var textim=“我需要吃一个苹果、香蕉和肉”; 变量标记=[ [“苹果”、“水果”], [“肉类”、“其他”], [“橙色”、“水果”], [“香蕉”、“水果”], ]; tags.forEach(函数(条目){ if(textim.includes(条目[0])){ 控制台日志(条目[1]); }; });将标记数组转换为textim按空格

我有一个文本和标签数组。我正在寻找一种方法来确定文本是否包含数组中的任何触发字。如果是,则写入标记的码字(数组中的第二个参数)

有没有更好的办法

var textim=“我需要吃一个苹果、香蕉和肉”;
变量标记=[
[“苹果”、“水果”],
[“肉类”、“其他”],
[“橙色”、“水果”],
[“香蕉”、“水果”],
];
tags.forEach(函数(条目){
if(textim.includes(条目[0])){
控制台日志(条目[1]);
};

});
标记
数组转换为
textim
按空格排序,并使用重复的方式重复单词。如果
tagsMap
包含单词,则获取单词的值并
console.log()
it:

const textim=“我需要吃一个苹果、香蕉和肉”;
常量标记=[
[“苹果”、“水果”],
[“肉类”、“其他”],
[“橙色”、“水果”],
[“香蕉”、“水果”],
];
const tagsMap=新地图(标签);
textim.split(“”)
.forEach((单词)=>{
if(tagsMap.has(word))console.log(tagsMap.get(word));

});始终迭代输入(textim)和引用堆栈中的check/match,但绝不迭代引用(标记)数组/堆栈和check-in输入,否则最终将执行开销迭代

例如:如果您有100个元素的标签数组,则使用当前修复程序
1) 对于包含5个单词的输入文本,它将迭代100次。

2) 对于包含2个单词的输入文本,它将迭代100次

我建议你们在CodeReview网站上问这个问题——我觉得不错。你为什么这么问?textim有1000个单词,标签是500