整理了以下6种JS字符串去重方法,仅供参考。
- 利用indexOf
function unique(str) {
let newStr = "";
for (let i = 0; i < str.length; i++) {
if (newStr.indexOf(str[i]) === -1) {
newStr += str[i];
}
}
return newStr;
}
- 利用ES6的Set方法
function unique(str) {
let arr = str.split("");
let newArr = [...new Set(arr)];
return newArr.join("");
}
- 利用数组的includes方法
function unique(str) {
let arr = str.split("");
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) {
newArr.push(arr[i]);
}
}
return newArr.join("");
}
- 利用字符串的search方法
function unique(str) {
let newStr = "";
for (let i = 0; i < str.length; i++) {
if (newStr.search(str[i]) === -1) {
newStr += str[i];
}
}
return newStr;
}
- 使用双for循环
function unique(str) {
var newStr = "";
var flag;
for (var i = 0; i < str.length; i++) {
flag = 1;
for (var j = 0; j < newStr.length; j++) {
if (str[i] == newStr[j]) {
flag = 0;
break;
}
}
if (flag) newStr += str[i];
}
return newStr;
}
该方法可能有部分人不太能理解。其实就是第一步定义一个新字符串和一个flag标识。第二步对需要去重的字符串进行遍历,并在内部将标识设为1,且对新字符串也进行遍历,每次遍历需要去重的字符串时,都让它与新字符串中的字符进行对比;如果都不相等,则标识还是为1,此时便将该次遍历的值添加到新字符串中;如果有一个相等,则将标识设为0,并跳出循环,并且因为flag为0,所以后面的添加操作也不会进行。直接进入下一次遍历。
- 利用对象的属性不能相同的特点去重
function unique(str) {
let newStr = "";
let obj = {
};
for (let i = 0; i < str.length; i++) {
if (!obj[str[i]]) {
newStr += str[i];
obj[str[i]] = 1;
}
}
return newStr;
}
以上就是整理出的6种JS字符串去重方法,若有错误,请指出!也请大佬们可以分享分享其他方法,谢谢!
今天的文章JavaScript字符串去重分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7314.html