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 相关文章推荐
Google韩国首页图标动画效果
Aug 26 Javascript
IE与firefox之jquery用法区别
Oct 03 Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
jQuery的attr与prop使用介绍
Oct 10 Javascript
javascript 获取HTML DOM父、子、临近节点
Jun 16 Javascript
js实现数组转换成json
Jun 26 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
May 22 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
如何用JS实现网页瀑布流布局
Apr 24 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
PHP下对字符串的递增运算代码
2010/08/21 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
了解ESlint和其相关操作小结
2018/05/21 Javascript
Python字符串格式化
2015/06/15 Python
Python六大开源框架对比
2015/10/19 Python
详解python时间模块中的datetime模块
2016/01/13 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python和js交互调用的方法
2020/06/23 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
UDP协议功能
2013/01/06 面试题
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
兴趣小组活动总结
2014/05/05 职场文书
党员承诺书怎么写
2014/05/20 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
升学宴家长致辞
2015/07/27 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
详解Python常用的魔法方法
2021/06/03 Python