比較新舊兩個數組值得增長和刪除

  之前項目中用到本身寫的,應該沒有bug吧,有更好的也歡迎你們指教,  <script type="text/javascript">      //  之前項目中用到本身寫的,應該沒有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]);                    }                }            }            var difArr = {}            difArr["addstr"] = addstr;                    //  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]);                    }                }            }               difArr["dels"]=dels;            return difArr;            //alert("dels:" + dels); //刪除的        }        var arr = ['2000_1', '2000_2', '2000_3', '2000_4', '2000_5', '2000_6', '2000_7','2001_8']; //就得        var arr2 = ['2000_1', '2000_2', '2000_3', '2000_4', '2000_5', '2000_6', '2000_8']//新的        var data = Return_AddStrFn(arr, arr2);        var addStr = data.addstr;        var delStr = data.dels;        alert("addStr:" + addStr);        alert("delStr:" + delStr);    </script>
相關文章
相關標籤/搜索