JavaScript 数组去重详解
程序员文章站
2022-06-15 11:58:35
目录1.数组去重 /********************************************** ╚description: ╚作者: 麒麟社...
1.数组去重
/********************************************** ╚description: ╚作者: 麒麟社 ╚时间: 2021-09-13 22:26:21 ╚名称: v1.0.5 ***********************************************/ var obj = ['麒麟','社','cc','dd','麒麟','社','11',11] //定义一个新的数组 var s = []; //遍历数组 for(var i=0;i<obj.length;i++){ if(s.indexof(obj[i]) == -1){ //判断在s数组中是否存在,不存在则push到s数组中 s.push(obj[i]); } } console.log(s);
2.数组去重里面的对象去重
/********************************************** ╚description: ╚作者: 麒麟社 ╚时间: 2021-09-13 22:26:21 ╚名称: v1.0.5 ***********************************************/ var old_data = [ { name:'ccc', age:'18' }, { name:'peng', age:'18' }, //去除peng重复 { name:'aaa', age:'18' }, { name:'peng', age:'18' }, ] // 方法1:利用对象访问属性的方法,判断对象中是否存在key var result = []; var obj = {}; old_data.foreach(function (data) { if(!obj[data.name]){ result.push(data); obj[data.name] = true; } }) console.log(result);
3.根据数组某个字段相同,修改另外字段值
/********************************************** ╚description: ╚作者: 麒麟社 ╚时间: 2021-09-13 22:26:21 ╚名称: v1.0.5 ***********************************************/ var olddata = [ { name:'cccc', age:'5656' }, { name:'cccc', age:'22dddsada' }, { name:'cccc', age:'22dddsada' }, { name:'aaaa', age:'32' }, { name:'aaaa', age:'2dasdasdas2' }, ] var newarr = []; for (var i = 0; i <olddata.length; i++) { var item = olddata[i]; var isexists = false; for (var j = 0; j < newarr.length; j++) { var item2 = newarr[j]; if (item2.name == item.name) { isexists = true; break; } } if (isexists) { // 这里找到相同的,更改一样的 if(item.name == 'cccc'){ item.age = '222222' item2.age = '222222' }else{ item.age = '3333' item2.age = '3333' } newarr.push(item2); continue; } newarr.push(item); } console.log(newarr)
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!