gpt4 book ai didi

javascript - Vue.js 来自多个搜索项的粗体术语

转载 作者:行者123 更新时间:2023-12-03 01:20:31 27 4
gpt4 key购买 nike

我试图允许搜索将匹配的部分加粗。例如,如果我有一个名字“John”并在同一字符串中搜索“Jo Joh”,我希望它采用 john tha 匹配最多的部分并将该部分加粗,因此它应该像 约翰。

这就是我到目前为止所拥有的,我不明白为什么它在我的 vue 工具调试器中显示“评估期间出错”。

computed: {
bold: function () {
var compare = [];
var word = 'john';
var array = ['jo', 'joh'];

for (var i = 0; i < array.length; i++) {

if (word.contains(array[i])) {
compare[i] = array[i];
}
}
var maxWord = compare[0];
for (var i = 0; i < compare.length - 1; i++) {
if (maxWord.length < compare[i].length) {
maxWord = compare[i];
}
}
return word.toString().replace(maxWord, '<strong>' + maxWord + '</strong>');
}
}

最佳答案

检查这个example 。您可以根据需要覆盖搜索输入。

有一个boldString方法,什么是转换字符串:

function boldString(str, find){
var re = new RegExp(find, 'g');
return str.replace(re, '<b>'+find+'</b>');
}

您可以像这样迭代数组:

function search(input){
var arr = ["john", "doe"];
var res = "";
var i = 0;
while(i < arr.length) {
res += boldString(arr[i], input);
res += " ";
i++;
}
return res;
}

希望对您有帮助!

关于javascript - Vue.js 来自多个搜索项的粗体术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51784322/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com