code: function InnerArrayFilter(f, receiver, array, length, result) {
    var result_length = 0;
    for (var i = 0; i < length; i++) {
      if (i in array) {
        var element = array[i];
        if (%_Call(f, receiver, element, i, array)) {
          %CreateDataProperty(result, result_length, element);
          result_length++;
        }
      }
    }
    return result;
  }
docs: The following functions cannot be made efficient on sparse arrays while preserving the semantics, since the calls to the receiver function can add or delete elements from the array.