锁定老帖子 主题:JS利用json做去重
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间: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>
可以改写成为数组去重,比较简单。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-23
这个思路不错
合理的利用了json对象属性会被重写的工作原理 很不错 |
|
返回顶楼 | |
发表时间:2010-08-24
其实不应说是 json,就是js对象嘛
|
|
返回顶楼 | |
发表时间:2010-08-24
嘿..效率问题
|
|
返回顶楼 | |
发表时间:2010-08-24
JS里面对象可以直接当Hash表用,非常方便,不过只能支持字符串作键值
但需要注意for in循环时,使用hasOwnProperty过滤掉原型中的东西,避免有的JS代码侵入了原型,导致杯具发生…… (加前后缀不如这个直接) |
|
返回顶楼 | |
发表时间:2010-08-25
思路挺好,不过这个与json关系不大吧,只要是数组都行。
|
|
返回顶楼 | |
发表时间:2010-08-25
好像 1 和 “1” 会被判断为一样的吧。
|
|
返回顶楼 | |
发表时间:2010-08-25
没看懂是什么意思?
"1@1@2@3@3@4@4@5@".replace('@', '');不就ok么? |
|
返回顶楼 | |
发表时间:2010-08-25
思路很不错,但是和json没关系,只是js对象的操作撒!
|
|
返回顶楼 | |
发表时间:2010-08-25
这年头,连js对象都被称为json了
|
|
返回顶楼 | |