| 
						 | 
						- 'use strict';
 - 
 - /**
 -  * Array random slice with items count.
 -  * @param {Array} arr
 -  * @param {Number} num, number of sub items.
 -  * @return {Array}
 -  */
 - exports.randomSlice = function randomSlice(arr, num) {
 -   if (!num || num >= arr.length) {
 -     return arr.slice();
 -   }
 -   var index = Math.floor(Math.random() * arr.length);
 -   var a = [];
 -   for (var i = 0, j = index; i < num; i++) {
 -     a.push(arr[j++]);
 -     if (j === arr.length) {
 -       j = 0;
 -     }
 -   }
 -   return a;
 - };
 - 
 - /**
 -  * Remove one exists element from an array
 -  * @param {Array} arr
 -  * @param  {Number} index - remove element index
 -  * @return {Array} the array instance
 -  */
 - exports.spliceOne = function spliceOne(arr, index) {
 -   if (index < 0) {
 -     index = arr.length + index;
 -     // still negative, not found element
 -     if (index < 0) {
 -       return arr;
 -     }
 -   }
 - 
 -   // don't touch
 -   if (index >= arr.length) {
 -     return arr;
 -   }
 - 
 -   for (var i = index, k = i + 1, n = arr.length; k < n; i += 1, k += 1) {
 -     arr[i] = arr[k];
 -   }
 -   arr.pop();
 -   return arr;
 - };
 
 
  |