【发布时间】:2022-01-13 18:21:25
【问题描述】:
我有一个长文本和一个包含一些对象的数组。每个对象都有一个开始键和一个结束键。我要做的是突出显示文本,仅在我从数组中获得的索引上。
我写了这段代码:
function HighlightRange(text: any, start: any, end: any, color: any) {
return (
text.substring(0, start) +
`<span style="background-color: ${color}">` +
text.substring(start, end) +
`</span>` +
text.substring(end)
);
}
如果数组中只有一个对象,它会完美运行。问题是,当我使用它时,它会更改文本,现在它有更大的长度,并且高亮现在需要获得新的长度才能突出显示确切的范围。
我试过了:
value?.input_spans.map((value: any, key: any) => {
newString = HighlightRange(
originalTextArea,
value.start,
value.end,
"lightgreen"
);
});
是否可以在不改变文本长度的情况下遍历所有对象并从头到尾突出显示所有文本?
【问题讨论】:
标签: javascript typescript