JavaScript 數組去重詳解
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)
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!