function insertAt(items, item, index) {
  var copy = items.slice();
  copy.splice(index, 0, item);
  return copy;
}
function insertAt(items, item, index) {
  var copy = items.slice();
  copy.splice(index, 0, item);
  return copy;
}
function insertAt ( items , item , index ) { var copy = items . slice ( ) ; copy . splice ( index , 0 , item ) ; return copy ; }
Insert item into position at given index.
Doesn't modify source array.
@param {Array} items
@param {*} item
@param {Number} index
@return {Array}
Insert item into position at given index . Doesn t modify source array .