我在 JavaScript 中有一个字符串,其中有很多重复的内容。例如,我有以下字符串:
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double"
我该怎样删除重复项并获得例如x="Int32,Double"
?
我在 JavaScript 中有一个字符串,其中有很多重复的内容。例如,我有以下字符串:
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double"
我该怎样删除重复项并获得例如x="Int32,Double"
?
使用Set
和Array.from
,这非常容易:
Array.from(new Set(x.split(','))).toString()
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double"
x = Array.from(new Set(x.split(','))).toString();
document.write(x);
x = [...new Set(x.split(','))].join(',');
缩短。 - adeneo如果您需要支持现有的浏览器,可以将数组分割,然后过滤它。
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double";
var arr = x.split(',');
x = arr.filter(function(value, index, self) {
return self.indexOf(value) === index;
}).join(',');
document.body.innerHTML = x;
这很简单,只需使用new Set
删除字符串中的重复项,然后使用join
将它们连接。
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double";
console.log([...new Set(x)].join(""));
new Set
通过逗号分隔... Javascript 在时代中不断地惊喜着。 - xamgore使用新的JS语法从字符串中删除重复项。
String.prototype.removeDuplicate = Function() {
const set = new Set(this.split(','))
return [...set].join(',')
}
x.removeDuplicate()
var x = "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double"
var removeDup = [...new Set(x.split(","))].join(",");
//结果 "Int32,Double"
function myFunction(str) {
var result = "";
var freq = {};
for(i=0;i<str.length;i++){
let char = str[i];
if(freq[char]) {
freq[char]++;
} else {
freq[char] =1
result = result+char;
}
}
return result;
}
看这个 -
removeDuplicates() 函数接受一个字符串作为参数,然后使用内置的字符串拆分函数将其拆分为单个字符的数组。然后对于 arr2 数组,它最初是空的,forEach 循环检查 arr2 中的每个元素 - 如果 arr2 已经有该元素,则不会将该字符推入其中,否则将推入其中。因此,返回的最终数组是具有唯一元素的数组。最后,我们使用 join() 方法将数组连接成一个字符串。
const removeDuplicates = (str) => {
const arr = str.split("");
const arr2 = [];
arr.forEach((el, i) => {
if (!arr2.includes(el)) {
arr2.push(el);
}
});
return arr2.join("").replace(",", "").replace("", " ");
};
console.log(removeDuplicates( "Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Double,Double,Double"));
let str = "/Courses/"
let newStr = str.replaceAll('/', '')
console.log(newStr) // 结果 -> Courses
function removeDups(s) {
let charArray = s.split("");
for (let i = 0; i < charArray.length; i++) {
for (let j = i + 1; j < charArray.length; j++)
if (charArray[i] == charArray[j]) {
charArray.splice(j, 1);
j--;
}
}
return charArray.join("");
}
console.log(removeDups("Int32,Int32,Int32,InInt32,Int32,Double,Double,Double"));
function removeDuplicate(x)
{
var a = x.split(',');
var x2 = [];
for (var i in a)
if(x2.indexOf(a[i]) == -1) x2.push(a[i])
return x2.join(',');
}