• 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>
  • 相关阅读:
    github提交用户权限被拒
    vue数据响应式的一些注意点
    总结一下做移动端项目遇到的坑
    react-router
    promise-async-await
    递归函数
    Linux基础
    所有的数据处理都是map-reduce
    Mac下配置JAVA_HOME
    MySQL高级
  • 原文地址:https://www.cnblogs.com/tytsp/p/9687322.html
Copyright © 2020-2023  润新知