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 Xml增删改查(IE下)操作实现代码
Jan 30 Javascript
JavaScript 创建对象
Jul 17 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
Nov 17 Javascript
jQuery实现冻结表头的方法
Mar 09 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
canvas实现钟表效果
Feb 13 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
Apr 12 Javascript
在vue中安装使用vux的教程详解
Sep 16 Javascript
js canvas实现星空连线背景特效
Nov 01 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 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
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
python2.7的编码问题与解决方法
2016/10/04 Python
python 链接和操作 memcache方法
2017/03/04 Python
Python内建模块struct实例详解
2018/02/02 Python
python版大富翁源代码分享
2018/11/19 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
信息部岗位职责
2013/11/12 职场文书
中层干部岗位职责
2013/12/18 职场文书
生日寄语大全
2014/04/08 职场文书
土地租赁协议书
2015/01/29 职场文书
经典爱情感言
2015/08/03 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL