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 相关文章推荐
javascript 自定义回调函数示例代码
Sep 26 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 Javascript
javascript用正则表达式过滤空格的实现代码
Jun 14 Javascript
基于JS实现导航条flash导航条
Jun 17 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
微信小程序实现评论功能
Nov 28 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
JavaScript实现省市区三级联动
Feb 13 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
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
function.inc.php超越php
2006/12/09 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
详解Django中的权限和组以及消息
2015/07/23 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python生成requirements.txt的两种方法
2019/09/18 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
幼儿园家长评语大全
2014/04/16 职场文书
大学生党员承诺书
2014/05/20 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
五年级下册复习计划
2015/01/19 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
个人催款函范文
2015/06/23 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
初中历史教学反思
2016/02/19 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
Java 关于String字符串原理上的问题
2022/04/07 Java/Android