js去除重复字符串两种实现方法


Posted in Javascript onJanuary 09, 2013

方法一:

function checkRe(checkid) { var id = window.parent.getQry("ctrid") + "_"; 
var values = window.parent.opener.document.getElementById(id + "txt_dept_name").value; 
var keys = window.parent.opener.document.getElementById(id + "hf_ids").value; 
var ary = checkid.value.split("|"); 
var newsValues = ary[0]; 
var newsKeys = ary[1]; 
if (checkid.checked) { 
values = values + "," + newsValues; 
keys = keys + "," + newsKeys; 
} 
else { 
values = values.replace(new RegExp("," + newsValues), ""); 
keys = values.replace(new RegExp("," + newsKeys), ""); 
} 
values = okd(values); 
keys = okd(keys); 
window.parent.opener.document.getElementById(id + "txt_dept_name").value = values; 
window.parent.opener.document.getElementById(id + "hf_ids").value = keys; 
return; 
} 
//转换成数组,去掉重复,再组合好。 
function okd(str) { 
var ary = str.split(","); 
// 去重的算法 
var json = {}; 
for (var i = 0; i < ary.length; i++) { 
if (ary[i] != "") { 
json["a" + ary[i]] = ary[i]; 
} 
} 
// 查看结果 
var str2 = ""; 
for (var key in json) { 
str2 += "," + json[key]; 
} 
var s = str2.toString(); 
//去掉第一个逗号 
if (s.substr(0, 1) == ',') { 
s = s.substr(1); 
} 
return s; 
} 
function add_all() { 
var ck = document.getElementsByTagName("input"); 
for (i = 0; i < ck.length; i++) { 
if (ck[i].type == "checkbox") { 
ck[i].checked = true; 
checkRe(ck[i]); 
} 
} 
} 
function del_all() { 
var id = window.parent.getQry("ctrid") + "_"; 
window.parent.opener.document.getElementById(id + "txt_dept_name").value = ""; 
window.parent.opener.document.getElementById(id + "hf_ids").value = ""; 
var ck = document.getElementsByTagName("input"); 
for (i = 0; i < ck.length; i++) { 
if (ck[i].type == "checkbox") { 
ck[i].checked = false; 
} 
} 
}

<input id='chk_pkId' type='checkbox' name='chk' onclick='checkRe(this);' value='值|pkId' />

方法二:
function filterRepeatStr(str){ 
var ar2 = str.split(","); 
var array = new Array(); 
var j=0 
for(var i=0;i<ar2.length;i++){ 
if((array == "" || array.toString().match(new RegExp(ar2[i],"g")) == null)&&ar2[i]!=""){ 
array[j] =ar2[i]; 
array.sort(); 
j++; 
} 
} 
return array.toString(); 
}
Javascript 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
jquery实现可拖拽弹出层特效
Jan 04 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 Javascript
AngularJS 事件发布机制
Aug 28 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 #Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 #Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 #Javascript
javascript parseInt() 函数的进制转换注意细节
Jan 08 #Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 #Javascript
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 #Javascript
jquery Mobile入门—外部链接切换示例代码
Jan 08 #Javascript
You might like
typecho插件编写教程(五):核心代码
2015/05/28 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
基于jQuery的倒计时实现代码
2012/05/30 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
js创建数组的简单方法
2016/07/27 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
python生成日历实例解析
2014/08/21 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
代码详解django中数据库设置
2019/01/28 Python
python异常处理和日志处理方式
2019/12/24 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
党员思想汇报范文
2013/12/30 职场文书
汽车维修专业个人求职信范文
2014/01/01 职场文书
英语系毕业生求职信
2014/07/13 职场文书
文明单位申报材料
2014/12/23 职场文书
小学教师岗位职责
2015/04/02 职场文书
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
Nginx利用Logrotate实现日志分割
2022/05/20 Servers