JavaScript 字符串去重
方法:在原型链上编写,利用对象的属性不能相同的特点进行去重,把字符串的每一个字符添加为对象的属性名(一个对象不能有两个同名的属性)。
代码实现:
// 在原型链封装一个方法
String.prototype.unique = function () {
var newStr = "", // 空数组
newObj = {}, // 空对象
newLen = this.length; // 调用字符串长度
for(var i = 0; i < newLen; i ++) { // 遍历字符串
if(!newObj[this[i]]) { // 判断对象里面有没有这个属性
newObj[this[i]] = "Hello World!!!"; // 添加属性
newStr += this[i]; // 字符串拼接
}
}
return newStr;
}
调用这个方法:
用一个超级数组去测试
String.prototype.unique = function () {
var newStr = "",
newObj = {},
newLen = this.length;
for(var i = 0; i < newLen; i ++) {
if(!newObj[this[i]]) {
newObj[this[i]] = "Hello World!!!";
newStr += this[i];
}
}
return newStr;
var newStr = "qweqwrwirhrwiuqiqyqfskfhqiwfywsvuqfiuqgowhabsojhqoiwodqufwUGEFYW
UYYAUUUWGUIYADPYFAWYYWIOFYOIERYHJFDHFWOIEHFDJKOHiawieofhsjdfkhqoj
njvnmdxcbnvxmvnssfoiwuefdjhbfwueifgbhdbvwiueqfiwbdbvncmvxmvqiweqo
fqhoury12784y187t7w7193029187461827467185172483436377293701283104
41ri103284653y4t7854y823y7trgf3y4rgf783rfg43ff847f122378563421831
1=11=2u8e812ywuuhdq87y8e7y4827y82y810`2eu92re923ry23
`923y8r289eu2ioefh293hfebdsjfb823";
console.log(newStr.unique());
结果为:
去重前:
去重后:
以上就是小编对javascript字符串去重问题的研究,今后会不断改进代码。