我想要一个Javascript,它可以找到数组(多行文本文件)中所有对应的实例,这些实例包含与对话框无关的搜索查询中的单词。例如,在由四个值组成的数组中有["ir minēts", "nav mīnēts", "bija minets", "būs mints"]。通过输入SearchQuery"minets",我希望获得前三个值的键-- 0,1,2 --以及它们的值,并以粗体<b>*</b>作为结果返回相应的单词。提前谢谢你!
发布于 2022-09-03 14:54:52
您可以对数组中的行进行normalize,然后为搜索字符串过滤这些非重音行:
const removeAccents = text =>
text.normalize("NFKD").replace(/\p{Diacritic}/gu, "")
const lines = ["ir minēts", "nav mīnēts", "bija minets", "būs mints"];
// Do this just once for the array:
const plainLines = lines.map(removeAccents);
// Search a word
let search = "minets";
let plainSearch = removeAccents(search);
let lineNumbers = plainLines.map((line, i) =>
line.includes(plainSearch) ? i : -1
).filter(lineNo => lineNo > -1);
console.log(lineNumbers);
https://stackoverflow.com/questions/73592944
复制相似问题