我试图创建一个普通的JavaScript函数,将用户输入与标签数组进行比较,并返回最佳匹配。我创建了如下JSON索引:
[
{
"data-governance": {
"tags": ["data", "governance"],
"href": "data-governance.html"
}
},
{
"data-quality": {
"tags": ["data", "quality"],
"href": "data-quality.html"
}
}
]我希望这个函数表现如下:如果用户输入"data",它应该同时返回数据治理和数据质量的href属性。但是,如果用户输入"data gov",它应该只返回数据治理href属性。
在RegEx中,我发现了一些使用字符串匹配完成自动完成的示例,但没有比较字符串数组(即标记)。
希望有人能给我指明正确的方向。
发布于 2022-07-06 10:41:46
你可以这样做,
const data = [
{
'data-governance': {
tags: ['data', 'governance'],
href: 'data-governance.html',
},
},
{
'data-quality': {
tags: ['data', 'quality'],
href: 'data-quality.html',
},
},
];
const findMatches = (items, tag) => {
return items
.filter((item) => {
const { tags } = Object.values(item)[0];
return tags.includes(tag);
})
.map((item) => Object.keys(item)[0]);
};
console.log(findMatches(data, "data"));
https://stackoverflow.com/questions/72881938
复制相似问题