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 相关文章推荐
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
php实例分享之实现显示网站运行时间
May 20 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
javascript实现rgb颜色转换成16进制格式
Jul 10 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
原生js仿浏览器滚动条效果
Mar 02 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 Javascript
Vue+axios封装请求实现前后端分离
Oct 23 Javascript
jquery插件实现悬浮的菜单
Apr 24 jQuery
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
星际争霸兵种名称对照表
2020/03/04 星际争霸
一个PHP的String类代码
2010/04/20 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
js常用代码段整理
2011/11/30 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
python生成随机图形验证码详解
2017/11/08 Python
Python抓取框架Scrapy爬虫入门:页面提取
2017/12/01 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
医院党员公开承诺书
2014/08/30 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
典型事迹材料范文
2014/12/29 职场文书
明确岗位职责
2015/02/14 职场文书
共青团员自我评价
2015/03/10 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
2015年话务员工作总结
2015/04/29 职场文书
Redis 哨兵机制及配置实现
2022/03/25 Redis
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技