问题描述
- JavaScript数组值去重,但是返回的类型和原类型不一样, 怎么转换
-
var arr = [2,1,2,10,2,3,4,1,85,321,3,4,65,10,24];function uniq(newarr){ function toObject(arr) { var obj = { }; for(var i=0 ;i<arr.length ;i++){ obj[ arr[ i ] ]=true; } return obj ; } function keys(obj){ var arr = [ ] ; for(var attr in obj){ if(obj.hasOwnProperty(attr)){ arr.push(parseInt(attr)); } } return arr; } return keys(toObject(newarr)); } console.log(uniq(arr));
解决方案
var arr = [2,1,2,10,2,3,4,1,85,321,3,4,65,10,24];
function onRepeat(){
var json={};
var temArr=[];
for(var i=0;i<arr.length;i++){
(function(n){
json[n]=1;
})(i);
}
for(var key in json){
temArr.push(json[name]);
}
return temArr;
}
搞定
解决方案二:
推薦使用filter()函數.其他都一樣.最好別總是用循環
时间: 2024-10-06 07:57:22