Я пытаюсь фильтровать массив, опуская пользователей, которые уже в предыдущем списке:ko.utils.arrayFilter не работает должным образом
перенаправление: Том, Тим, Джим, Джилл
Список пользователей задается: Том, Джилл
и с помощью другого члена я был в состоянии использовать этот фильтр массива, но проблема в том, что результат фильтрации такой же, как Список пользователи задаются: Том, Джилл и я хочу результат фильтрации быть Tim, Jim
var viewModel = function(data){
var _self = {};
var FullUsers = ko.observableArray([]);
var Users = ko.observableArray([]);
_self.UsersList = function(data){
$.each(data, function(index, user) {
_self.Users.push(new userViewModel(user));
}
}
_self.FullList = function(data){
$.each(data, function(index, user) {
_self.FullUsers.push(new userViewModel(user));
}
}
this._FilteredUsers=ko.computed(function() {
return ko.utils.arrayFilter(_self.FullUsers(), function(item) {
return ko.utils.arrayIndexOf(_self.Users(), item)<0;
});
});
}
У меня есть два разных метода получения, один для получения пользователей, а другой для полных пользователей - они одинаковы, единственное различие заключается в том, что идентификатор, который я передаю, одному и другому не требует переданного id.
Просмотр данных связываются
<div data-bind="foreach: _FilteredUsers">
<span data-bind="text: Name"></span>
</div>
как я могу изменить код, чтобы мой результат Тим, Джим?
Текущие результаты основаны на коде выше - я получаю FullUsers, включая тот, который я не хочу показывать. когда я переворачиваю Users()
10 и FullUsers()
Я только получаю Список пользователей
Пожалуйста, напишите фактический синтаксически правильный код! Нет метода 'ArrayFilter', он называется' arrayFilter', а также нет 'ArrayIndexOf', он называется' arrayIndexOf'! – nemesv
@nemesv Извините! рассматривая синтаксически правильный код - поскольку я уже получаю результаты, моя озабоченность связана не с ошибкой в синтаксисе, а с большей логической перспективой, поэтому я ввел без полного синтаксиса. – user3244544
Этот код выглядит правильно, делаете ли вы что-то еще для вычисленного? – noname