比较新旧两个数组值得增加和删除的JS代码


Posted in Javascript onOctober 30, 2013
以前项目中用到自己写的,应该没有bug吧,有更好的也欢迎大家指教,
var Return_AddStrFn=function (oldArr, newArr) {
        var t = this;



 //去重复的方法
        Array.prototype.unique4 = function () {
            // this = arr;
            var temp = new Array();
            this.sort();
            for (i = 0; i < this.length; i++) {
                if (this[i] == this[i + 1]) {
                    continue;
                }
                temp[temp.length] = this[i];
            }
            return temp;
        }
        var a = d = oldArr.unique4(); //旧数组
        var b = e = newArr.unique4();//新数组
        var c = [];
        var dels = [];
        function f() {
            a.sort();
            b.sort();
            var i = 0;
            var j = 0;
            while (i < a.length && j < b.length) {
                if (a[i] < b[j]) {
                    c.push(a[i]);
                    i++;
                } else if (b[j] < a[i]) {
                    c.push(b[j]);
                    j++;
                } else {
                    i++;
                    j++;
                }
            }
            while (i < a.length) {
                c.push(a[i]);
                i++;
            }
            while (j < b.length) {
                c.push(b[j]);
                j++;
            }
        }
        f();
        //alert("c:" + c);
        //alert("d:" + d);
        var addstr = [];
        for (var i = 0; i < c.length; i++) {
            for (var j = 0; j < e.length; j++) {
                if (e[j] == c[i]) {
                    addstr.push(e[j]);
                }
            }
        }
        return addstr; //新增的
        //for (var i = 0; i < c.length; i++) {
        //    for (var j = 0; j < d.length; j++) {
        //        if (d[j] == c[i]) {
        //            dels.push(d[j]);
        //        }
        //    }
        //}
        //alert("dels:" + dels); //删除的
    }

调用方式: var arr = [1, 2,2,3, 3, 4, 5];
              var arr2=[1,2,5]

       var addStr=Return_AddStrFn(arr2,arr);

Javascript 相关文章推荐
jquery动态加载图片数据练习代码
Aug 04 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
Nov 26 Javascript
Jquery给基本控件的取值、赋值示例
May 23 Javascript
jQuery中的read和JavaScript中的onload函数的区别
Aug 27 Javascript
js实现的四级左侧网站分类菜单实例
May 06 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
基于JavaScript中标识符的命名规则介绍
Jan 06 Javascript
fastadmin中调用js的方法
May 14 Javascript
浅谈JS中几种轻松处理'this'指向方式
Sep 16 Javascript
js实现限定范围拖拽的示例
Oct 26 Javascript
利用javascript实现web页面中指定区域打印
Oct 30 #Javascript
javascript ajax 仿百度分页函数
Oct 29 #Javascript
JS禁用浏览器退格键实现思路及代码
Oct 29 #Javascript
javaScript实现浮点数转十六进制字符
Oct 29 #Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 #Javascript
js动态设置div的值下例子
Oct 29 #Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 #Javascript
You might like
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
Python选课系统开发程序
2016/09/02 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
python实现小世界网络生成
2019/11/21 Python
python3实现弹弹球小游戏
2019/11/25 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
工程安全员岗位职责
2014/03/09 职场文书
租房协议书范文
2014/08/20 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
简历自我评价优缺点
2015/03/11 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
超市员工管理制度
2015/08/06 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python