比较新旧两个数组值得增加和删除的JS代码
比较新旧两个数组值得增加和删除的JS代码
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:以前项目中用到自己写的,应该没有bug吧,有更好的也欢迎大家指教,varReturn_AddStrFn=function(...

复制代码 代码如下:

以前项目中用到自己写的,应该没有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教程学习
热门Javascript教程学习
编程开发子分类