zoukankan      html  css  js  c++  java
  • JavaScript Array 对象扩展方法

    /** 删除数组中指定索引的数据 **/
    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;
    }
  • 相关阅读:
    leetcode35. search Insert Position
    leetcode26.Remove Duplicates from Sorted Array
    leetcode46.Permutation & leetcode47.Permutation II
    leetcode.5 Longest Palindromic Substring
    [转载] C++中new和malloc的区别
    [转载] C++中的自由存储区和堆
    xCode8以及iOS10 的新特性
    cell上添加倒计时,以及时差问题的解决
    cell的复用机制
    iOS 懒加载模式
  • 原文地址:https://www.cnblogs.com/sntetwt/p/3599752.html
Copyright © 2011-2022 走看看