比较新旧两个数组值得增加和删除的JS代码

 更新时间:2013年10月30日 15:20:05   作者:  
这篇文章介绍了比较新旧两个数组值得增加和删除的JS代码,有需要的朋友可以参考一下

复制代码 代码如下:

  以前项目中用到自己写的,应该没有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 动态修改css样式方法汇总(四种方法)

    javascript 动态修改css样式方法汇总(四种方法)

    为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的Css属性,如何动态修改css样式呢?面对这个问题,小编带领大家来解决javascript动态修改css样式,小伙伴们都快来学习吧
    2015-08-08
  • JavaScript实现复选框全选功能

    JavaScript实现复选框全选功能

    这篇文章主要为大家详细介绍了JavaScript实现复选框全选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Javascript中查找不以XX字符结尾的单词示例代码

    Javascript中查找不以XX字符结尾的单词示例代码

    我在写这篇文章之前花了2个多小时在弄正则表达式,下为大家介绍下具体的实现思路,感兴趣的朋友可以参考下
    2013-10-10
  • JavaScript树结构深度优先算法

    JavaScript树结构深度优先算法

    这篇文章主要介绍了JavaScript树结构深度优先算法,树结构可以说是前端中最常见的数据结构之一,比如说DOM树、级联选择、树形组件,更多相关内容需要的小伙伴可以参考一下
    2022-07-07
  • TypeScript中的类

    TypeScript中的类

    这篇文章主要介绍了TypeScript中的类,类这个概念基本是所有面向对象编程语言都具有一个概念,JavaScript中ES6 之前是没有类这个概念,下面文章围绕TypeScript类的相关资料展开内容,需要的朋友可以参考一下
    2021-12-12
  • 使用bootstrap莫名其妙出现横向滚动条的问题及解决

    使用bootstrap莫名其妙出现横向滚动条的问题及解决

    这篇文章主要介绍了使用bootstrap莫名其妙出现横向滚动条的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 基于MVC方式实现三级联动(JavaScript)

    基于MVC方式实现三级联动(JavaScript)

    这篇文章主要为大家详细介绍了基于MVC方式实现三级联动的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • JS实现超炫网页烟花动画效果的方法

    JS实现超炫网页烟花动画效果的方法

    这篇文章主要介绍了JS实现超炫网页烟花动画效果的方法,实例分析了javascript实现烟花动画效果的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • javascript-解决mongoose数据查询的异步操作

    javascript-解决mongoose数据查询的异步操作

    这篇文章主要介绍了javascript-解决mongoose数据查询的异步操作,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • Bootstrap每天必学之折叠(Collapse)插件

    Bootstrap每天必学之折叠(Collapse)插件

    Bootstrap每天必学之折叠(Collapse)插件,折叠插件可以很容易地让页面区域折叠起来,感兴趣的小伙伴们可以参考一下
    2016-04-04

最新评论