JavaScript 陣列去重詳解
阿新 • • 發佈:2021-09-15
目錄
- 1.陣列去重
- 2.陣列去重裡面的物件去重
- 3.根據陣列某個欄位相同,修改另外欄位值
- 總結
1.陣列去重
/**************http://www.cppcns.com******************************** ╚description: ╚作者: 麒麟社 ╚時間: 2021-09-13 22:26:21 ╚名稱: V1.0.5 ***********************************************/ var obj = ['麒麟','社','CC','DD','麒麟','11',11] //定義一個新的陣列 var s = []; //遍歷陣列 for(ktqWFvar 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',//去除peng重複 { name:'aaa',] // 方法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: ╚作者: 麒麟社 ╚時間: 20ktqWF21-09-13 22:26:21 ╚名稱: V1.0.5 ***********************************************/ var oldData = [ { name:'cccc',age:'5656' },{ name:'cccc',age:'22dddsada' },{ name:'aaaa',age:'32' },{ name:'aktqWFaaa',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)
總結
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!