JS 字符串拼接并去重
1、includes
循环数组将某个字段拼接成新的字符串并去重(数组里面包含的一个对象,或者其他都OK)
// 定义一个数组
let arr=[.......]
// 定义拼接的字符串
let a=''
//循环数组将里面某个字段拼接在一起并去重
arr.forEach(item => {
if(!a.includes(item.createUserName)){
a = a + item.createUserName + ','
}
})
// 去除最后拼接的逗号
let b = a.replace(/,$/, "");
2、Set
使用 Set 数据结构来实现 JavaScript 字符串的去重。Set 是一种不允许重复值的集合,可以通过将字符串转换为数组,然后将数组转换为 Set,最后将 Set 转换回数组来去重。
以下是一个示例代码:
function removeDuplicates(str) {
// 将字符串转换为数组
let arr = str.split('');
// 将数组转换为 Set
let uniqueChars = new Set(arr);
// 将 Set 转换回数组
let result = Array.from(uniqueChars);
// 将数组转换回字符串
return result.join('');
}
let str = 'aabbcc';
let result = removeDuplicates(str);
console.log(result); // 输出 "abc"
可以使用 Set 数据结构来实现字符串去重。Set 是 ES6 中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。或者简写:
let strArr = ['a', 'b', 'b', 'c'];
let uniqueStr = [...new Set(strArr)].join('');
console.log(uniqueStr); // 输出 "abc"
在上面的代码中,首先将字符串转换为数组,然后使用 set 去除重复的字符。最后将 Set 转换回数组,并将数组转换回字符串。或者
function removeDuplicates(str) {
let seen = new Set();
let result = '';
for (let char of str) {
if (!seen.has(char)) {
seen.add(char);
result += char;
}
}
return result;
}
// 示例
let str = "aabbcddd";
let noDuplicates = removeDuplicates(str);
console.log(noDuplicates); // 输出 "abcd"
这段代码定义了一个removeDuplicates
函数,它接受一个字符串作为参数,然后使用Set
数据结构跟踪已经出现过的字符。如果字符尚未出现在Set
中,它将被加入到结果字符串中,并加入到Set
中。这样,结果字符串中的每个字符都是唯一的。