我看过类似的帖子,但我无法用其他帖子的答案解决我的问题。我有以下函数可以从大数组中返回唯一值:
self.availableActivies = ko.computed(function () {
var activities = [];
$.each(self.data(), function(i, s){
activities.push(s.activities);
});
return $.unique(activities);
});
当我将 s.activities 推送到“activities”数组时,我的数组包含大约 30 个重复事件,但只有 4 个唯一事件。
最后 jQuery 行返回的正是我在 chrome 中需要的内容,但我无法弄清楚如何在没有 jQuery 的情况下执行此操作,以便它可以在所有浏览器中工作。
请您参考如下方法:
$.unique
有效 with DOM .
<小时 />
因此,尝试
$.unique(activities.sort());
无论如何,我们建议使用
$.inArray
和$.grep
来代替activites
等数组,function customUnique(array) { return $.grep(array, function(el, index) { return index === $.inArray(el, array); }); }
然后:
self.availableActivies = ko.computed(function () { var activities = []; $.each(self.data(), function(i, s){ activities.push(s.activities); }); return customUnique(activities); });