testArrayReduceRightOmitsDeleted() {
    let a = [0, 1, 2, 3, 4];
    delete a[1];
    delete a[4];
    assertEquals('320', googArray.reduceRight(a, (rval, val, i, arr) => {
      assertEquals('number', typeof i);
      assertEquals(a, arr);
      return rval + val;
    }, ''));

    /** @const */
    const scope = {
      last: '',
      /**
       * @param {string} r
       * @param {string} v
       * @param {number} i
       * @param {!IArrayLike<string>} arr
       * @return {string}
       * @this {?}
       */
      testFn: function(r, v, i, arr) {
        assertEquals('number', typeof i);
        assertEquals(a, arr);
        const l = this.last;
        this.last = v;
        return r + v + l;
      },
    };

    a = ['a', 'b', 'c', 'd'];
    delete a[1];
    delete a[3];
    assertEquals('_cac', googArray.reduceRight(a, scope.testFn, '_', scope));
  }
@param {string} r
@param {string} v
@param {number} i
@param {!IArrayLike<string>} arr
@return {string}
@this {?}