多个数组对象合并去重

一个数组对象去重

 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));

猜你喜欢

转载自www.cnblogs.com/mxyr/p/9238287.html