可观察数组上的淘汰赛删除功能不起作用

Knockout remove function on observable array not working

在我的剔除应用程序中,我尝试使用 remove 方法删除一个元素。 但我收到错误

.remove is not a function

下面是代码

ActivityArray = ko.observable([]);
ActivityArray(result.Regular); //Result of an api call    
ActivityArray.remove(function (element) { return element.Name === 'abc'; })

无法理解为什么它不起作用。我在其他地方使用过 remove,其他地方都工作正常。

请指导

谢谢

.remove 功能仅适用于 observableArray。但是您将 ActivityArray 设置为 observable。将其更改为 observableArray

ActivityArray = ko.observableArray([]);

您必须使用 observableArray (https://knockoutjs.com/documentation/observableArrays.html),而不是 observable

var viewmodel = function(){
  var self = this;
  var ActivityArray = ko.observableArray([]);
  var result = {
    "Regular":[
      {"Name": "abc"},
      {"Name": "xyz"}
    ]
  };
  ActivityArray(result.Regular); //Result of an api call
  console.log("Before remove: ", ActivityArray());
  ActivityArray.remove(function (element) { return element.Name === 'abc'; });
  console.log("After remove: ", ActivityArray());

};

ko.applyBindings(new viewmodel());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>