javascript - 一个标签去重的问题
ringa_lee
ringa_lee 2017-04-10 18:09:20
[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??
ringa_lee
ringa_lee

ringa_lee

全部回复(4)
PHPz
<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(',');
});
怪我咯
var numObj={};
var $input=$('input[name="server"]');
$input.val().replace(/(\d+),{0,1}/g,function(m,p){
    if(numObj[p]){
        numObj[p]+=1;
    }else{
        numObj[p]=1
    }
});

var numArr=[];
for(var num in numObj){
    if(numObj[num]=1){
        numArr.push(num);
    }
}
$input.val(numArr.sort(function(a,b){return a>b}).join(','));
高洛峰
document.querySelector('.check').addEventListener('click', unique)

function unique() {
    var input = document.querySelector('.clvalue');
    var arr = input.value.split(',');
    var hash = {};
    var newArr = arr.filter(function(item, i) {
        if (item) {
            return arr.indexOf(item) === arr.lastIndexOf(item)
        }
    })
    input.value = newArr.sort(function(a, b) {
        return a - b
    }).join(',')
}
PHPz

value 获取出来split(',')得到一个数组array,用这个array new 一个Set可以去重。然后排序的话用sort可以。最后join(',')

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号