javascript - 一个标签去重的问题
本文介绍了javascript - 一个标签去重的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<input class="clvalue" value="3,3,2," name="server">
<input type="button" class="check">
疑问:怎么控制点击 把value中出只要出现两次的就干掉这个数字!!!
诸如 3,3,2, 然后只剩 2
诸如 2,3,2, 然后只剩 3
诸如 3,2,1, 然后 1,2,3
(顺序排,去逗号,去重)
把正确的结果返回value??
解决方案
<input class="clvalue" value="3,3,2," name="server">
<button id="j-button" type="button" class="check">Click</button>
<!-- 我给 button 挂个 id="j-button" 来方便获取元素 -->
document.getElementById('j-button').addEventListener('click', function() {
var input = document.querySelector('input[name="server"]');
var value = input.value;
// 按照 , 来分割字符串,顺便移除前后空格
var result = value.split(/\s*,\s*/).filter(function(item) {
if (item) {
var index = value.indexOf(item); // 获取字符在字符串中的位置
// 从字符串结束的位置向后检索,找不到则表示是唯一的
return value.indexOf(item, index + item.length) === -1 ? true : false;
} else {
return false;
}
}).sort(); // 最后排个序
input.value = result.join(',');
});
这篇关于javascript - 一个标签去重的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文