gpt4 book ai didi

javascript - typeahead.js 在预取和远程数据源之间进行重复数据删除

转载 作者:行者123 更新时间:2023-11-29 10:15:11 24 4
gpt4 key购买 nike

我正在使用带有预取和远程的 typeahead.js http://twitter.github.io/typeahead.js/examples/#custom-templates

$(document).ready(function() {
var castDirectors = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: '../api/v1/search/people_typeahead',
remote: '../api/v1/search/people_typeahead?q=%QUERY'
});

castDirectors.initialize();

$('#remote .typeahead').typeahead(null, {
name: 'cast-directors',
displayKey: 'value',
source: castDirectors.ttAdapter(),
templates: {
empty: [
'<div class="empty-message">',
'no matching names',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p><a href="{{link}}">{{value}}</a></p>')
}
});
});

但是,预取 JSON 和远程 JSON 中存在重复的条目。我怎样才能去重以便它只显示一个条目?

最佳答案

添加dupDector Bloodhound 初始化代码的选项,即将以下代码放在“远程:”之后:

dupDetector: function(remoteMatch, localMatch) {
return remoteMatch.value === localMatch.value;
}

您没有包含您的 JSON,所以我不能确定上面代码中进行的比较是否正确。此代码将忽略本地和远程数据源中的重复值。

关于javascript - typeahead.js 在预取和远程数据源之间进行重复数据删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23534007/

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