比较新旧两个数组值得增加和删除的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实现shift/ctrl/alt按键的获取
Apr 08 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
jquery实现点击页面计算点击次数
Jan 23 Javascript
jquery使用each方法遍历json格式数据实例
May 18 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 Javascript
Vue的轮播图组件实现方法
Mar 03 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 Javascript
让你30分钟快速掌握vue3教程
Oct 26 Javascript
微信小程序中使用vant框架的具体步骤
Feb 18 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
简单的cookie计数器实现源码
2013/06/07 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
js 内存释放问题
2010/04/25 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
Python装饰器语法糖
2019/01/02 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
python selenium xpath定位操作
2020/09/01 Python
英国假发网站:Hothair
2018/02/23 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
经典公益广告词
2014/03/13 职场文书
请假条怎么写
2014/04/10 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
起诉书格式范文
2015/05/20 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Python安装使用Scrapy框架
2022/04/12 Python