/** 删除数组中指定索引的数据 **/ Array.prototype.deleteAt = function (index) { if (index < 0) { return this; } return this.slice(0, index).concat(this.slice(index + 1, this.length)); } /** 数组洗牌 **/ Array.prototype.random = function () { var tempArr = [], me = this, t; while (me.length > 0) { t = Math.floor(Math.random() * me.length); tempArr[tempArr.length] = me[t]; me = me.deleteAt(t); } return tempArr; } Array.prototype.orderRandom = function () { return this.sort(function () { return Math.random() > 0.5 ? "-1" : "1"; }); } /** 数字数组排序 **/ Array.prototype.sortNum = function (i) { if (!i) { i = 0; } if (i == 1) { return this.sort(function (a, b) { return b - a; }); } return this.sort(function (a, b) { return a - b; }); } /** 获取数字数组中的最大项 **/ Array.prototype.getMax = function () { return this.sortNum(1)[0]; } /** 获取数字数组中的最小项 **/ Array.prototype.getMin = function () { return this.sortNum(0)[0]; } /** 数组第一次出现指定元素的位置 **/ Array.prototype.indexOf = function (o) { for (var i = 0; i < this.length; i++) { if (this[i] == o) { return i; } } return -1; } /** 去除数组中的重复项 **/ Array.prototype.arrUnique = function () { var reset = [], done = {}; for (var i = 0; i < this.length; i++) { var temp = this[i]; if (!done[temp]) { done[temp] = true; reset.push(temp); } } return reset; }