比较新旧两个数组值得增加和删除的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 相关文章推荐
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
js实现在字符串中提取数字
Nov 05 Javascript
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 Javascript
深入理解Javascript中的自执行匿名函数
Jun 03 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
Jun 17 Javascript
js 数字、字符串、布尔值的转换方法(必看)
Apr 07 Javascript
使用ionic播放轮询广告的实现方法(必看)
Apr 24 Javascript
微信小程序实现轮播图效果
Sep 07 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
Apr 29 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Django验证码的生成与使用示例
2017/05/20 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python实现人机五子棋
2020/03/25 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
单位领导证婚词
2014/01/14 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
幼师求职自荐信
2014/05/31 职场文书
奥林匹克的口号
2014/06/13 职场文书
上海世博会口号
2014/06/19 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
普通党员整改措施
2014/10/24 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL