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 相关文章推荐
web前端开发也需要日志
Dec 09 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
读jQuery之一(对象的组成)
Jun 11 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
Dec 28 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
JavaScript 匿名函数和闭包介绍
Apr 13 Javascript
分享纯手写漂亮的表单验证
Nov 19 Javascript
three.js中文文档学习之创建场景
Nov 20 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
Dec 26 Javascript
Promise扫盲贴
Jun 24 Javascript
JS实现移动端双指缩放和旋转方法
Dec 13 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
Jul 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP文件下载类
2006/12/06 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
Nodejs极简入门教程(三):进程
2014/10/27 NodeJs
js计算任意值之间随机数的方法
2015/01/16 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
js实现随机点名程序
2020/09/17 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
新手常见6种的python报错及解决方法
2018/03/09 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
最新党员思想汇报
2014/01/01 职场文书
公安机关起诉意见书
2015/05/20 职场文书
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android