六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 20|回复: 0

[经典]去除Javascript数组中的重复元素

[复制链接]

升级  36%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
18
 楼主| 发表于 2013-1-29 09:30:59 | 显示全部楼层 |阅读模式
function unique(arr){var tempObj ={};for(var i=arr.length-1;i>=0;i--){tempObj[arr[i]]="";}var tempArr =[];for(var p in tempObj){tempArr.push(p);}return tempArr;}var s=[1,1,2,2,3,3,"a","a","b","s"];alert(unique(s));

原理,javascript对象实际上就是散列表,有key和value组成,将数组中的元素依次作为key赋值给临时对象 tmpObj,由于key不能重复,自然将重复的元素消除掉了,然后将对象的key值遍历一下,重新放置在数组中就可以了。
小知识:var o = {key:value},是javascript的对象字面量表示法,类似于json数据格式。

转自 http://buzheng.org/blog/javascript-unique-array-elements
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表