2017-05-25 88 views
0

我已經調用了一個函數並填充了我的數組,這很好,我現在要循環訪問該數組並刪除其中出現'Name'字段值更多的元素而不是數組中的一次(即多個記錄具有相同的'Name'值),其中HubID字段爲空。使用javascript從knockout.js可觀察數組中刪除元素

任何人都可以提供一個例子嗎?

感謝

+0

它是一個Knockout Observable Array嗎?到目前爲止,您的代碼的一個例子會有所幫助。 – Drummad

回答

1

您應該使用arrayGetDistinctValues淘汰賽效用函數把所有的獨特的產品名稱的數組。

self.uniqueNames = ko.dependentObservable(function() { 
    var arrayOfNames = ko.utils.arrayMap(self.Products(), function(item){ return item.Name}) 
    return ko.utils.arrayGetDistinctValues(arrayOfNames).sort(); 
}); 

可以使用基因敲除arrayFilter實用程序來選擇從所述數組項的某個子集篩選陣列。在這個HubID不爲null的例子中。

self.filteredProducts = ko.computed(function() { 
    return ko.utils.arrayFilter(this.Products(), function(item) { 
     return item.HubID != null; 
    }); 
}); 
0

我認爲這將是東西沿着這些線路

self.count = ko.computed(function (_name) { 
      var countedItems = ko.utils.arrayFilter(self.Products(), function (arrayItem) { 
       return arrayItem.Name == _name; 
      }); 
      return countedItems.length; 
     }); 
相關問題