js去除重复字符串两种实现方法

 更新时间:2013年01月09日 16:01:33   作者:  
js去除重复字符串在项目开发中很实用,接下来详细介绍实现方法,感兴趣的朋友可以参考下
方法一:
复制代码 代码如下:

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();
}

相关文章

  • 微信实现自动跳转到用其他浏览器打开指定APP下载

    微信实现自动跳转到用其他浏览器打开指定APP下载

    这篇文章主要介绍了微信实现自动跳转到用其他浏览器打开指定APP下载,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 移动端利用H5实现压缩图片上传功能

    移动端利用H5实现压缩图片上传功能

    这篇文章主要为大家详细介绍了移动端利用H5实现压缩图片上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • JavaScript创建对象_动力节点Java学院整理

    JavaScript创建对象_动力节点Java学院整理

    这篇文章主要为大家详细介绍了JavaScript创建对象的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • JS实现动态生成表格并提交表格数据向后端

    JS实现动态生成表格并提交表格数据向后端

    这篇文章主要为大家详细介绍了JS实现动态生成表格并提交表格数据向后端的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 用javascript实现倒计时效果

    用javascript实现倒计时效果

    这篇文章主要为大家详细介绍了用javascript实现倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • javascript生成随机数方法汇总

    javascript生成随机数方法汇总

    实现随机数是各种编程语言都很常见的一个编程任务,下面介绍一下在JavaScript如何实现随机数。非常的简单实用的例子奉献给大家,希望大家能够喜欢。
    2015-11-11
  • JS中dom0级事件和dom2级事件的区别介绍

    JS中dom0级事件和dom2级事件的区别介绍

    这篇文章主要介绍了JS中dom0级事件和dom2级事件的区别介绍,非常有参考价值,特此分享到脚本之家平台供大家参考
    2016-05-05
  • JsChart组件使用详解

    JsChart组件使用详解

    JSChart能够在网页上生成图标,常用于统计信息,十分好用的一个JS组件。这篇文章主要介绍了JsChart组件使用详解,需要的朋友可以参考下
    2018-03-03
  • JavaScript中Map和Set数据结构使用方法详解

    JavaScript中Map和Set数据结构使用方法详解

    这篇文章主要介绍了JavaScript中Map和Set数据结构使用方法的相关资料,Map是一种键值对集合,支持任意类型的键和值,保留插入顺序,并提供多种遍历和操作方法,Set是一种唯一值集合,通过哈希算法保证唯一性,提供添加、删除、检查元素的方法,需要的朋友可以参考下
    2025-03-03
  • js实现幻灯片播放图片示例代码

    js实现幻灯片播放图片示例代码

    幻灯片播放图片的效果想必大家都有见到过吧,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-11-11

最新评论