日期:2014-05-16 浏览次数:20381 次
function delSameItem(arr) {
var _temp = {};
var _arrTemp = [];
var _len = arr.length;
for(var i = 0; i < _len; i++) {
if(!_temp[arr[i]]) {
_arrTemp.push(arr[i]);
_temp[arr[i]] = 1;
}
}
return _arrTemp;
}
------解决方案--------------------
var arr = [1, 5, 7, 5, 9];
function p(arr){
var ret = [];
var o = {};
for(var i=0, len=arr.length; i<len; ++i){
if(!o[arr[i]]){
ret.push(arr[i]);
o[arr[i]] = arr[i];
}
}
return ret;
}
------解决方案--------------------
if(!_temp[arr[i]]) { ==>if(typeof(temp[arr[i]])==="undfined"//否则0始终为移除
ret.push(arr[i]); ==>ret[ret.length]=arr[i];//效率更高
------解决方案--------------------
2、3楼正解,我完善下
<script>
var arr = [1, 2, 3, 4, 5, 2, 3];
function p(arr1){
var ret = [];
var o = {};
for(var i=0; i<arr.length; ++i){
if(!o[arr[i]]){
ret.push(arr[i]);
o[arr[i]] = arr[i];
}
}
arr=ret.concat();
}
document.write(arr+"<br>");
p(arr);
document.write(arr+"<br>");
</script>
------解决方案--------------------