zoukankan      html  css  js  c++  java
  • JS数组去重和取重

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>JS数组去重和取重</title>
    </head>
    
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
    
    <body>
    </body>
    <script>
        Array.prototype.distinct = function () {
            var a = [], b = [];
            for (var prop in this) {
                var d = this[prop];
                if (d === a[prop]) continue; //防止循环到prototype
                if (b[d] != 1) {
                    a.push(d);
                    b[d] = 1;
                }
            }
            return a;
        }
        var x = [1,1,2,2,3,4,4,5];
        document.write('原始数组:' + x);
        document.write("<br />");
        document.write('去重复后:' + x.distinct());
        document.write("<br />");
    </script>
    方法二:取重复数据
    <script type="text/javascript">
        Array.prototype.distinct = function () {
            var a = [], b = [], c = [], d = [];
            for (var prop in this) {
                var d = this[prop];
                if (d === a[prop]) {
                    continue;
                }//防止循环到prototype
                if (b[d] != 1) {
                    a.push(d);
                    b[d] = 1;
                }
                else {
                    c.push(d);
                    d[d] = 1;
                }
            }
    //return a;
            return c.distinct1();
        }
        Array.prototype.distinct1 = function () {
            var a = [], b = [];
            for (var prop in this) {
                var d = this[prop];
                if (d === a[prop]) continue; //防止循环到prototype
                if (b[d] != 1) {
                    a.push(d);
                    b[d] = 1;
                }
            }
            return a;
        }
        var x = [1,1,2,2,3,4,4,5];
        document.write("<br />");
        document.write('原始数组:' + x);
        document.write("<br />");
        document.write('去重复后:' + x.distinct());
    </script>
    </html>
  • 相关阅读:
    前端周刊第一期
    Java CAS 原理详解
    【转载】Linux系统调用SYSCALL_DEFINE详解
    简述伪共享和缓存一致性MESI
    exchange发邮件
    Flutter屏幕适配(自适应)方案
    dart类初始化 future方案
    windows下postgresql自启动
    How can I call an async method in StatelessWidget.build method?
    实战分层架构
  • 原文地址:https://www.cnblogs.com/tytsp/p/9687322.html
Copyright © 2011-2022 走看看