使用javascript从knockout.js可观察数组中删除元素
我已经调用了一个函数并填充了我的数组,这很好,现在我想在数组中循环并删除任何元素,如果“Name”字段的值在数组中出现多次(即多个记录的“Name”值相同),如果HubID字段为空 有人能举个例子吗使用javascript从knockout.js可观察数组中删除元素,javascript,visual-studio,knockout.js,Javascript,Visual Studio,Knockout.js,我已经调用了一个函数并填充了我的数组,这很好,现在我想在数组中循环并删除任何元素,如果“Name”字段的值在数组中出现多次(即多个记录的“Name”值相同),如果HubID字段为空 有人能举个例子吗 谢谢我想应该是这样的 self.count = ko.computed(function (_name) { var countedItems = ko.utils.arrayFilter(self.Products(), function (arrayItem) {
谢谢我想应该是这样的
self.count = ko.computed(function (_name) {
var countedItems = ko.utils.arrayFilter(self.Products(), function (arrayItem) {
return arrayItem.Name == _name;
});
return countedItems.length;
});
您应该使用
arrayGetDistinctValues
knockout实用程序函数获取所有唯一产品名称的数组
self.uniqueNames = ko.dependentObservable(function() {
var arrayOfNames = ko.utils.arrayMap(self.Products(), function(item){ return item.Name})
return ko.utils.arrayGetDistinctValues(arrayOfNames).sort();
});
您可以使用knockoutarrayFilter
实用程序筛选数组,以从数组中选择项目的特定子集。在本例中,HubID不为null
self.filteredProducts = ko.computed(function() {
return ko.utils.arrayFilter(this.Products(), function(item) {
return item.HubID != null;
});
});
它是一个击倒可观测阵列吗?到目前为止,您所获得的代码示例将非常有用。