JavaScript字符串去重

JavaScript字符串去重整理了以下6种JS字符串去重方法,仅供参考。利用indexOffunctionunique(str){letnewStr=””;for(leti=0;i<str.length;i++){if(newStr.indexOf(str[i])===-1){newStr+=str[i];}}returnnewStr;}利用ES6的Set方法func

整理了以下6种JS字符串去重方法,仅供参考。

  1. 利用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;
}
  1. 利用ES6的Set方法
function unique(str) { 
   
    let arr = str.split("");
    let newArr = [...new Set(arr)];
    return newArr.join("");
}
  1. 利用数组的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("");
}
  1. 利用字符串的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;
}
  1. 使用双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,所以后面的添加操作也不会进行。直接进入下一次遍历。

  1. 利用对象的属性不能相同的特点去重
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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注