博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js比对一维数组全等的算法
阅读量:5776 次
发布时间:2019-06-18

本文共 1481 字,大约阅读时间需要 4 分钟。

//辅助方法1,返回某个值在数组中的位置        Array.prototype.indexOf = function (e) {            for (var i = 0, l = this.length; i < l; i++) {                if (this[i] == e) return i;            }            return -1;        }        //辅助方法2,数组中移除元素        Array.prototype.remove = function (val) {            var index = -1;            for (var i = 0, l = this.length; i < l; i++) {                if (this[i] == val) index = i;            }            if (index > -1) {                this.splice(index, 1);            }        };        //比对算法        Array.prototype.compare = function (arr) {            var self = this, flag = true, arrLength = arr.length;            if (!$.isArray(arr)) {                throw "比对数组参数类型错误";                return false;            } else if (self.length !== arr.length) {                //长度不等,直接判定为不等                return false;            }            while (arrLength--) {                var arrVal = arr[arrLength];                //存在                if (self.inArray(arrVal)) {                    //元素相等,移除该元素                    self.remove(arrVal);                    arr.remove(arrVal);                } else {                    flag = false;                    return;                }            }            //比对记录全部相等,并且还有元素,继续调用递归            if (flag && self.length > 0) {                self.compare(arr);            }            return flag;        }

调用方式:arr1.compare(arr2);接收返回值

转载于:https://www.cnblogs.com/Brose/p/js_array_compare.html

你可能感兴趣的文章
我的友情链接
查看>>
Java Web Application 自架构 一 注解化配置
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Kubernetes 1.11 手动安装并启用ipvs
查看>>
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
sed 替换基础使用
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
oracle备份与恢复--rman
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Tasks and Back stack 详解
查看>>