• 基于内置类的原型扩展方法


    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>基于内置类的原型扩展方法</title>
    </head>
    <body>
    <script type="text/javascript">
    var ary = [12, 23, 34, 12, 23, 34, 12, 23, 34, 12, 23, 34, 12, 23, 34];//->Array ->Object

    //->内置方法的链式写法:执行完成上一个方法,返回的结果依然是当前类的实例,这样就可以继续执行下一个方法了
    // ary.sort(function (a, b) {
    // return a - b;
    // }).reverse().pop().push(100);
    // console.log(ary);


    //->给方法起名字的时候加一个自己的前缀myXxx,防止把内置的方法覆盖掉
    Array.prototype.myDistinct = function myDistinct() {
    //this->ary:我们要去重的那个数组
    var obj = {};
    for (var i = 0; i < this.length; i++) {
    var cur = this[i];
    if (obj[cur] == cur) {
    this[i] = this[this.length - 1];
    this.length--;
    i--;
    continue;
    }
    obj[cur] = cur;
    }
    obj = null;
    return this;//->实现链式写法
    };

    ary.myDistinct().push(100);
    console.log(ary);

    </script>
    </body>
    </html>

  • 相关阅读:
    Problem 3
    Problem 2
    Problem 1
    Python基础 装饰器
    算法——狄克斯特拉算法
    A Knight's Journey POJ 2488
    多校10 1007 CRB and Queries
    多校9 1007 Travelling Salesman Problem
    多校8 1008 Clock
    多校7 1005 The shortest problem
  • 原文地址:https://www.cnblogs.com/kpengfang/p/5686746.html
Copyright © 2020-2023  润新知