addon/utils/data-processor.js
function centericMap(array, callback) {
  var retArray = [],
      length,
      left, right;

  if(array) {
    length = array.length - 1;
    left = length >> 1;

    while(left >= 0) {
      retArray[left] = callback(array[left]);
      right = length - left;
      if(right !== left) {
        retArray[right] = callback(array[right]);
      }
      left--;
    }
  }
  return retArray;
}
function centericMap(array, callback) {
  var retArray = [],
      length,
      left, right;

  if(array) {
    length = array.length - 1;
    left = length >> 1;

    while(left >= 0) {
      retArray[left] = callback(array[left]);
      right = length - left;
      if(right !== left) {
        retArray[right] = callback(array[right]);
      }
      left--;
    }
  }
  return retArray;
}
function centericMap ( array , callback ) { var retArray = [ ] , length , left , right ; if ( array ) { length = array . length - 1 ; left = length >> 1 ; while ( left >= 0 ) { retArray [ left ] = callback ( array [ left ] ) ; right = length - left ; if ( right !== left ) { retArray [ right ] = callback ( array [ right ] ) ; } left -- ; } } return retArray ; }
Iterates the array in a symmetric order, from middle to outwards
@param array {Array} Array to be iterated
@param callback {Function} Function to be called for each item
@return A new array created with value returned by callback
Iterates the array in a symmetric order from middle to outwards