比较新旧两个数组值得增加和删除的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 相关文章推荐
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
JavaScript传递变量: 值传递?引用传递?
Feb 22 Javascript
jQuery创建插件的代码分析
Apr 14 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
Jan 27 Javascript
javascript关于运动的各种问题经典总结
Apr 27 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
Jan 22 Javascript
JS组件Bootstrap Select2使用方法解析
May 30 Javascript
Javascript Event(事件)的传播与冒泡
Jan 23 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
Dec 24 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
Jun 28 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
Sep 11 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 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
微信支付开发维权通知实例
2016/07/12 PHP
javascript 鼠标拖动图标技术
2010/02/07 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
javascript中clone对象详解
2014/12/03 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python类继承用法实例分析
2014/10/10 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python字典快速保存于读取的方法
2018/03/23 Python
python批量修改图片大小的方法
2018/07/24 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
flask开启多线程的具体方法
2020/08/02 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
5.12护士节演讲稿
2014/04/30 职场文书
给公司的建议书范文
2014/05/13 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
python pygame入门教程
2021/06/01 Python
MySQL系列之三 基础篇
2021/07/02 MySQL
php去除deprecated的实例方法
2021/11/17 PHP
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python