比较新旧两个数组值得增加和删除的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 相关文章推荐
网页中实现浏览器的最大,最小化和关闭按钮
Mar 12 Javascript
jquery 应用代码 方便的排序功能
Feb 06 Javascript
jQuery入门知识简介
Mar 04 Javascript
Javascript Object.extend
May 18 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
jQuery动态星级评分效果实现方法
Aug 06 Javascript
理解和运用JavaScript的闭包机制
Aug 13 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
利用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无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
python logging类库使用例子
2014/11/22 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Django 重写用户模型的实现
2019/07/29 Python
django创建简单的页面响应实例教程
2019/09/06 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
《黄山奇石》教学反思
2014/04/19 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
出纳工作检讨书
2014/10/18 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
建国大业观后感800字
2015/06/01 职场文书
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
优化Mysql查询的示例
2022/04/26 MySQL