如何在JavaScript中串联两个没有重复的字符串

时间:2018-08-09 09:50:40

标签: javascript ecmascript-6 typescript2.0

我有两个字符串如下:

var str1 = "5YRS,AC,ALAR";
var str2 = "MON,5YRS,TRAU";

我想将这两个字符串合并为一个字符串,并删除其中的重复项。 我尝试了以下方法:

var main_str = str1.concat(str2) //result: "5YRS,AC,ALARMON,5YRS,TRAU"

我得到的结果在最后被合并,并且如果我动态推送任何字符串,它不会显示期望的结果。是否有任何新的ES6实现可获取同时检查null检查和返回唯一字符串值的方法。

2 个答案:

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