论坛首页 入门技术论坛

JS利用json做去重

浏览 9901 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-08-23   最后修改:2010-08-23

像JAVA一样利用容器来去重,尝试了一下,JS代码如下:

<script type="text/javascript">
// 先做一个数组
var str = "1@1@2@3@3@4@4@5@";
var ary = str.split("@");

// 去重的算法
var json = {};
for (var i = 0; i < ary.length; i++) {
    json["a"+ary[i]] = ary[i];
}

// 查看结果
var str2 = "";
for (var key in json) {
    str2 += json[key];
}
alert(str2);
</script>

 

可以改写成为数组去重,比较简单。

   发表时间:2010-08-23  
这个思路不错
合理的利用了json对象属性会被重写的工作原理
很不错
0 请登录后投票
   发表时间:2010-08-24  
其实不应说是 json,就是js对象嘛
0 请登录后投票
   发表时间:2010-08-24  
嘿..效率问题
0 请登录后投票
   发表时间:2010-08-24  
JS里面对象可以直接当Hash表用,非常方便,不过只能支持字符串作键值

但需要注意for in循环时,使用hasOwnProperty过滤掉原型中的东西,避免有的JS代码侵入了原型,导致杯具发生…… (加前后缀不如这个直接)
0 请登录后投票
   发表时间:2010-08-25  
思路挺好,不过这个与json关系不大吧,只要是数组都行。
0 请登录后投票
   发表时间:2010-08-25  
好像 1 和 “1” 会被判断为一样的吧。
0 请登录后投票
   发表时间:2010-08-25  
没看懂是什么意思?
"1@1@2@3@3@4@4@5@".replace('@', '');不就ok么?
0 请登录后投票
   发表时间:2010-08-25  
思路很不错,但是和json没关系,只是js对象的操作撒!
0 请登录后投票
   发表时间:2010-08-25  
这年头,连js对象都被称为json了
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics