如何JS 去重并拼接属性内的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何JS 去重并拼接属性内的值?相关的知识,希望对你有一定的参考价值。

问题:arr0是默认数据,如何去重并且拼接"text"字段 成arr2var arr0 =[ id:1,text:'产品1', id:1,text:'产品2', id:2,text:'产品3', id:2,text:'产品4', id:2,text:'产品5', id:3,text:'产品6', id:4,text:'产品7', ] var arr2=[ id:1,text:'产品1,产品2', id:2,text:'产品3,产品4,产品5', id:3,text:'产品6', id:4,text:'产品7', ]

参考技术A var arr0 = [ id:1,text:'产品1', id:1,text:'产品2', id:2,text:'产品3', id:2,text:'产品4', id:2,text:'产品5', id:3,text:'产品6', id:4,text:'产品7', ];
var arr2 = arr0.reduce((a,e)=>
var t=a.findIndex(e1=>e1.id==e.id);
(t>-1)?a[t].text+=","+e.text:a.push(e);
return a;
,[]);
console.log(arr2);

使用uniq命令给日志文件去重并排序

uniq

a.不加参数只对相邻的相同行去重

uniq test.txt

b.sort命令让重复的行相邻

先用sort做排序,让重复的行相邻,然后用uniq去重

sort test.txt | uniq

用sort -u即可实现该功能,这里的-u就是uniq

c.去重计数

参数-c --count 去重计数

sort test.txt | uniq -c

 

从文件中过滤重复信息

方法一:

1.文件信息

[root@localhost ~]# cat test.txt
https://www.baidu.com/index.php?tn=monline_3_dg
https://vip.iqiyi.com/waimeizhy1-pc.html/?fv=zz_5993b5deb9f24
https://www.jd.com/?cu=true&utm_source=cps.youmai.com&utm_medium=tuiguang&utm_campaign=t_1000049399_85292009&utm_term=4a4074858f4a46e6bc796373fd8931a2
https://pjjx.1688.com/?tracelog=cps&clickid=988602c34d86e07dd5a6c4e804992287
https://www.ctrip.com/?AllianceID=263200&sid=712562&ouid=&app=0101F00
https://vacations.ctrip.com/grouptravel
https://www.baidu.com/222
https://vip.iqiyi.com/waimei
https://vip.iqiyi.com/waimei
https://pjjx.1688.com/?tracelog=cps

2.使用awk -F 以"/“为分隔符过滤所需列

[root@localhost ~]# awk -F / ‘{print$3}‘ test.txt
www.baidu.com
vip.iqiyi.com
www.jd.com
pjjx.1688.com
www.ctrip.com
vacations.ctrip.com
www.baidu.com
vip.iqiyi.com
vip.iqiyi.com
pjjx.1688.com

3.使用sort排序后用uniq过滤 awk -F / ‘{print$3}‘ test.txt | sort | uniq -c

 

4.使用awk -F / ‘{print $3}‘ test.log | sort | uniq -c |sort -r将过滤的结果降序输出

 

方法二:

用cut方法处理

[root@localhost ~]# cut -d / -f3 test.txt
www.baidu.com
vip.iqiyi.com
www.jd.com
pjjx.1688.com
www.ctrip.com
vacations.ctrip.com
www.baidu.com
vip.iqiyi.com
vip.iqiyi.com
pjjx.1688.com

[root@localhost ~]# cut -d / -f3 test.txt | sort -r |uniq -c


以上是关于如何JS 去重并拼接属性内的值?的主要内容,如果未能解决你的问题,请参考以下文章

VBA自动过滤复制值,去重并粘贴到其他工作表中

数组去重

转转转--oracle 去重并按时间排序取第一条

java中如何将多个list集合对象拼接成一个集合对象

MYSQL去重并删除数据最少的重复行

java如何去掉list内的重复对象