code: function addKnockoutArrayMutators(ko, array, subscribable, signal) {
    var fnNames = ['remove', 'removeAll', 'destroy', 'destroyAll', 'replace'];
    fnNames.forEach(function(fnName) {
      // Make it a non-enumerable property for consistency with standard Array
      // functions
      Object.defineProperty(array, fnName, {
        enumerable: false,
        value: function() {
          var result;
  
          // These additional array mutators are built using the underlying
          // push/pop/etc. mutators, which are wrapped to trigger notifications.
          // But we don't want to trigger multiple notifications, so pause the
          // push/pop/etc. wrappers and delivery only one notification at the end
          // of the process.
          signal.pause = true;
          try {
            // Creates a temporary observableArray that can perform the operation.
            var fn = ko.observableArray.fn[fnName];
            result = fn.apply(ko.observableArray(array), arguments);
          }
          finally {
            signal.pause = false;
          }
  
          subscribable.notifySubscribers(array);
          return result;
        }
      });
    });
  }
docs: Adds Knockout's additional array mutation functions to the array