function SparseJoin(array, keys, convert) {
  var keys_length = keys.length;
  var elements = new InternalArray(keys_length);
  for (var i = 0; i < keys_length; i++) {
    var e = array[keys[i]];
    elements[i] = IS_STRING(e) ? e : convert(e);
  }
  return %StringBuilderConcat(elements, keys_length, '');
}
function SparseJoin(array, keys, convert) {
  var keys_length = keys.length;
  var elements = new InternalArray(keys_length);
  for (var i = 0; i < keys_length; i++) {
    var e = array[keys[i]];
    elements[i] = IS_STRING(e) ? e : convert(e);
  }
  return %StringBuilderConcat(elements, keys_length, '');
}
function SparseJoin ( array , keys , convert ) { var keys_length = keys . length ; var elements = new InternalArray ( keys_length ) ; for ( var i = 0 ; i < keys_length ; i ++ ) { var e = array [ keys [ i ] ] ; elements [ i ] = IS_STRING ( e ) ? e : convert ( e ) ; } return % StringBuilderConcat ( elements , keys_length , '' ) ; }
Optimized for sparse arrays if separator is ''.
Optimized for sparse arrays if separator is .