怎样把数组中重复的数去掉 比如:var arr = [1,2,3,4,5,6,7,8,4,3,2,5,6,23,4,2];过滤后[1,2,3,4,5,6,7,8,23]; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script type="text/javascript" >function OArray(arr){ var obj = {}; var a = []; var nums = {}; for(var i=0;i<arr.length; i++){ if(typeof arr[i] == "string"){ if(arr[i] != obj[arr[i]]){ a.push(arr[i]); obj[arr[i]] = arr[i]; } }else { if(nums[arr[i]] !== arr[i]){ nums[arr[i]] = arr[i]; a.push(arr[i]); } } } return a;}function AArray(arr){ var obj = []; var a = [];ll: for(var i=0;i<arr.length;i++){ for(var j=0;j<obj.length;j++){ if(arr[i] == obj[j]) continue ll; } obj.push(arr[i]); } return obj;}alert(AArray([1,2,3,5,"1",2,6]));alert(OArray([1,2,3,5,"1",2,6]));</script>这个是我以前做的,那个AArray可以过滤纯数字的,那个OArray比他要强些,能区分数字1和字符串"1". 有适用条件的做法,就是每个值必须是可以作为数组下标的$arr = array(1,2,3,4,5,6,7,8,4,3,2,5,6,23,4,2);$arr = array_keys(array_flip($arr));print_r($arr); 晕,看错地方了PHP的,不好意思啊,无视无视, 谢谢大家,楼上的不是JavaScript,一楼的很好。 Array.prototype.unique = function() { var a = {}; for(var i=0; i<this.length; i++) { if(typeof a[this[i]] == "undefined") a[this[i]] = 1; } this.length = 0; for(var i in a) this[this.length] = i; return this; }alert([1,2,3,4,5,6,7,8,4,3,2,5,6,23,4,2].unique()); 关于canvas fillRect方面问题 这种定义方法为何义? 高分,求一段代码! 關於框架 如何用JSCRIPT响应active控件事件 关于layer菜单被另一个Frame遮挡,不能显示出来的问题!请赐教 如何控制图片上移和下移,高分求救 如何判断上传文件(尚未上传)的大小? 大家看看我用xmlhttp实现的音乐查询。。:) 怎么使radiobutton恢复到为选种状态(在线等待) 前端开发需要掌握哪些知识? Extjs中Grid问题
function OArray(arr){
var obj = {};
var a = [];
var nums = {};
for(var i=0;i<arr.length; i++){
if(typeof arr[i] == "string"){
if(arr[i] != obj[arr[i]]){
a.push(arr[i]);
obj[arr[i]] = arr[i];
}
}else {
if(nums[arr[i]] !== arr[i]){
nums[arr[i]] = arr[i];
a.push(arr[i]);
}
}
}
return a;
}
function AArray(arr){
var obj = [];
var a = [];
ll:
for(var i=0;i<arr.length;i++){
for(var j=0;j<obj.length;j++){
if(arr[i] == obj[j])
continue ll;
}
obj.push(arr[i]);
}
return obj;
}
alert(AArray([1,2,3,5,"1",2,6]));
alert(OArray([1,2,3,5,"1",2,6]));
</script>
这个是我以前做的,那个AArray可以过滤纯数字的,那个OArray比他要强些,能区分数字1和字符串"1".
$arr = array_keys(array_flip($arr));
print_r($arr);
{
var a = {};
for(var i=0; i<this.length; i++)
{
if(typeof a[this[i]] == "undefined")
a[this[i]] = 1;
}
this.length = 0;
for(var i in a)
this[this.length] = i;
return this;
}
alert([1,2,3,4,5,6,7,8,4,3,2,5,6,23,4,2].unique());