比较新旧两个数组值得增加和删除的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 相关文章推荐
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
javascript移动设备Web开发中对touch事件的封装实例
Jun 05 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
jQuery实现高亮显示的方法
Mar 10 Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
浅谈Node.js:Buffer模块
Dec 05 Javascript
Vue 表单控件绑定的实现示例
Aug 11 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
vue 子组件修改data或调用操作
Aug 07 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结合Mysql数据库实现留言板功能
2016/03/04 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
JS实现评价的星星功能
2017/08/20 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
学校隐患排查制度
2015/08/05 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL