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 相关文章推荐
创建公共调用 jQuery Ajax 带返回值
Aug 01 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 Javascript
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
JS Array创建及concat()split()slice()的使用方法
Jun 03 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
使用angularjs.foreach时return的问题解决
Sep 30 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
JS异步宏队列与微队列原理区别详解
Jul 02 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
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
php微信公众号开发之简答题
2018/10/20 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
javascript与CSS复习(三)
2010/06/29 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
node.js的事件机制
2017/02/08 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
python使用matplotlib画饼状图
2018/09/25 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
年终考核评语
2014/01/19 职场文书
军训自我鉴定范文
2014/02/13 职场文书
治超工作实施方案
2014/05/04 职场文书
创先争优标语
2014/06/27 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
工作试用期自我评价
2015/03/10 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL