一个数组对象去重
1 var songs = [ 2 {name:"羽根",artist:"air"}, 3 {name:"羽根",artist:"air"}, 4 {name:"晴天",artist:"周杰伦"}, 5 {name:"晴天",artist:"周杰伦"}, 6 {artist:"周杰伦",name:"晴天"} 7 ]; 8 9 function unique(songs){ 10 let result = {}; 11 let finalResult=[]; 12 for(let i=0;i<songs.length;i++){ 13 result[songs[i].name]=songs[i];//因为songs[i].name不能重复,达到去重效果,且这里必须知晓"name"或是其他键名 14 } 15 //console.log(result);{"羽根":{name:"羽根",artist:"air"},"晴天":{name:"晴天",artist:"周杰伦"}} //现在result内部都是不重复的对象了,只需要将其键值取出来转为数组即可 16 for(item in result){ 17 finalResult.push(result[item]); 18 } 19 //console.log(finalResult);[{name:"羽根",artist:"air"},{name:"晴天",artist:"周杰伦"}] 20 return finalResult; 21 } 22 console.log(unique(songs));1个数组对象去重var songs = [ 23 {name:"羽根",artist:"air"}, 24 {name:"羽根",artist:"air"}, 25 {name:"晴天",artist:"周杰伦"}, 26 {name:"晴天",artist:"周杰伦"}, 27 {artist:"周杰伦",name:"晴天"} 28 ]; 29 30 function unique(songs){ 31 let result = {}; 32 let finalResult=[]; 33 for(let i=0;i<songs.length;i++){ 34 result[songs[i].name]=songs[i];//因为songs[i].name不能重复,达到去重效果,且这里必须知晓"name"或是其他键名 35 } 36 //console.log(result);{"羽根":{name:"羽根",artist:"air"},"晴天":{name:"晴天",artist:"周杰伦"}} //现在result内部都是不重复的对象了,只需要将其键值取出来转为数组即可 37 for(item in result){ 38 finalResult.push(result[item]); 39 } 40 //console.log(finalResult);[{name:"羽根",artist:"air"},{name:"晴天",artist:"周杰伦"}] 41 return finalResult; 42 } 43 console.log(unique(songs));var songs = [ 44 {name:"羽根",artist:"air"}, 45 {name:"羽根",artist:"air"}, 46 {name:"晴天",artist:"周杰伦"}, 47 {name:"晴天",artist:"周杰伦"}, 48 {artist:"周杰伦",name:"晴天"} 49 ]; 50 51 function unique(songs){ 52 let result = {}; 53 let finalResult=[]; 54 for(let i=0;i<songs.length;i++){ 55 result[songs[i].name]=songs[i];//因为songs[i].name不能重复,达到去重效果,且这里必须知晓"name"或是其他键名 56 } 57 //console.log(result);{"羽根":{name:"羽根",artist:"air"},"晴天":{name:"晴天",artist:"周杰伦"}} //现在result内部都是不重复的对象了,只需要将其键值取出来转为数组即可 58 for(item in result){ 59 finalResult.push(result[item]); 60 } 61 //console.log(finalResult);[{name:"羽根",artist:"air"},{name:"晴天",artist:"周杰伦"}] 62 return finalResult; 63 } 64 console.log(unique(songs));
多个数组对象去重
var songs = [ {name:"羽根",artist:"air"}, {name:"晴天",artist:"周杰伦"}, {artist:"周杰伦",name:"晴天"} ]; var arr = [ {name:"羽根",artist:"air"}, {name:"晴天",artist:"周杰伦"}, ] for (let i = 0; i < arr.length; i++) { songs.push(arr[i]) } console.log(songs); function unique(songs){ let result = {}; let finalResult=[]; for(let i=0;i<songs.length;i++){ result[songs[i].name]=songs[i];//因为songs[i].name不能重复,达到去重效果,且这里必须知晓"name"或是其他键名 } //console.log(result);{"羽根":{name:"羽根",artist:"air"},"晴天":{name:"晴天",artist:"周杰伦"}} //现在result内部都是不重复的对象了,只需要将其键值取出来转为数组即可 for(item in result){ finalResult.push(result[item]); } //console.log(finalResult);[{name:"羽根",artist:"air"},{name:"晴天",artist:"周杰伦"}] return finalResult; } console.log(unique(songs));