我有两个字符串如下:
var str1 = "5YRS,AC,ALAR";
var str2 = "MON,5YRS,TRAU";
我想将这两个字符串合并为一个字符串,并删除其中的重复项。 我尝试了以下方法:
var main_str = str1.concat(str2) //result: "5YRS,AC,ALARMON,5YRS,TRAU"
我得到的结果在最后被合并,并且如果我动态推送任何字符串,它不会显示期望的结果。是否有任何新的ES6实现可获取同时检查null检查和返回唯一字符串值的方法。
答案 0 :(得分:3)
您可以将两个字符串与一个数组连接在一起,然后拆分值以从Set
获得唯一结果。
var str1 = "5YRS,AC,ALAR",
str2 = "MON,5YRS,TRAU",
joined = Array.from(new Set([str1, str2].join(',').split(','))).join(',');
console.log(joined);
答案 1 :(得分:1)
您可以使用Set来避免重复:
var str1 = "5YRS,AC,ALAR";
var str2 = "MON,5YRS,TRAU";
var res = [...new Set([...str1.split(','), ...str2.split(',')])].join(',');
console.log(res);
OR:
var str1 = "5YRS,AC,ALAR";
var str2 = "MON,5YRS,TRAU";
var res = [...new Set(str1.split(',').concat(str2.split(',')))].join(',');
console.log(res);