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 相关文章推荐
js自带函数备忘 数组
Dec 29 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
Mar 01 Javascript
js替换字符串的所有示例代码
Jul 23 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 Javascript
jquery实现表格本地排序的方法
Mar 11 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
Jul 13 Javascript
运用js实现图层拖拽的功能
May 24 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
微信小程序实现选项卡滑动切换
Oct 22 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
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
div层的移动及性能优化
2010/11/16 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
Python urlopen 使用小示例
2008/09/06 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
Django开发中的日志输出的方法
2018/07/02 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
Python字典dict常用方法函数实例
2020/11/09 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
英文版网络工程师求职信
2013/10/28 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python