我写了一个代码,它工作正常,但是有没有简单易用的方法使用javascript RegExp Object或其他任何方法来实现呢?
function removeDuplicateChar(str) {
var temp = [], j = 0;
var arr = str.split("");
arr.sort();
for(var i = 0; i < arr.length-1; i++) {
if(arr[i] != arr[i+1]) {
temp[j++] = arr[i];
}
}
temp[j++] = arr[arr.length-1];
for(var i = 0; i < j; i++) {
arr[i] = temp[i];
}
return arr.join("").substring(0,j);
}
console.log(removeDuplicateChar("Rasikawef dfv dd"));Run Code Online (Sandbox Code Playgroud)
你喜欢一个班轮吗?最少的代码可能非常有效。比较以下内容:
通过集合和列表理解:
const remDup= e => [...new Set(e)].sort().join("");
console.log(remDup("Rasikawef dfv dd"))Run Code Online (Sandbox Code Playgroud)
与减少:
const remDup= s=> s.split("").sort().reduce((a,b)=>(a[a.length-1]!=b)?(a+b):a,"")
console.log(remDup("Rasikawef dfv dd"))Run Code Online (Sandbox Code Playgroud)
带过滤器:
const remDup= s=> s.split("").filter((e,i,f)=>f.indexOf(e)==i).sort().join("")
console.log(remDup("Rasikawef dfv dd"))Run Code Online (Sandbox Code Playgroud)
带有地图:
const remDup= s=> s.split("").map((c,i,o)=>(o.indexOf(c)==i)?c:"").sort().join("")
console.log(remDup("Rasikawef dfv dd"))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |