比较新旧两个数组值得增加和删除的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 相关文章推荐
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
javascript与CSS复习(三)
Jun 29 Javascript
jquery 选项卡效果 新手代码
Jul 08 Javascript
jQuery基于图层模仿五星星评价功能的方法
May 07 Javascript
使用canvas实现仿新浪微博头像截取上传功能
Sep 02 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
Nov 17 Javascript
AngularJS基础 ng-list 指令详解及示例代码
Aug 02 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
jQuery UI仿淘宝搜索下拉列表功能
Jan 10 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
jQuery+ajax实现用户登录验证
Sep 13 jQuery
利用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将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
Python中无限元素列表的实现方法
2014/08/18 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Python包和模块的分发详细介绍
2020/06/19 Python
如何使用python写截屏小工具
2020/09/29 Python
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
Java基础知识面试要点
2016/07/29 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
租房协议书
2014/04/10 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
2015教师年度考核评语
2015/03/25 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书