比较新旧两个数组值得增加和删除的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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
Nov 04 Javascript
javascript中利用数组实现的循环队列代码
Jan 24 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
Aug 20 Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
Dec 19 Javascript
jquery.zclip轻量级复制失效问题
Jan 08 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
May 18 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
layui 给数据表格加序号的方法
Aug 20 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
php防注入及开发安全详细解析
2013/08/09 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
php递归json类实例
2014/12/02 PHP
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
小程序实现多选框功能
2018/10/30 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python利用lxml读写xml格式的文件
2017/08/10 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
基于python实现雪花算法过程详解
2019/11/16 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
实习自我鉴定模板
2013/09/28 职场文书
旷课检讨书3000字
2014/02/04 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
励志演讲稿范文
2014/04/29 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
Win11软件图标固定到任务栏
2022/04/19 数码科技
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS