下面是代码:
<div class="wap-main" style="font-size:.5rem">
原值
<input id="repeatValue" type="text" >
<input id="delRepeat" type="button" value="去重">
<input type="text" id="noRepeat">
</div>
$(function(){
$("#delRepeat").click(function(){
var strr = $("#repeatValue").val();
var strr2 = strr.split("");
strr2.sort();
var temple = "";
var result = new Array();
for( var i in strr2 ){
if( strr2[i] != temple ){
result.push(strr2[i]);
temple = strr2[i];
// console.log(result)
}
}
$("#noRepeat").val(result.join(""));
console.log(result)
})
})
思路:
1.得到输入的字符串,此时typeof 是string,切无序;
2.将得到的字符串升序排列,此时同样的字符则是相邻排列的;
3.将有序排列后的字符串用split()转换成数组;
4.用for(in)循环,每个字符判断是否有,有就继续循环,没有就用数组操作方法push(),在数组末端添加;
5.得到的无重复的字符的数组,用join()方法,把数组用设置的分隔符,断成字符串,即去重的字符串
用到的知识点:
join()
方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
方法用于把一个字符串分割成字符串数组。
for( in)