使用JavaScript编写一个方法,去掉一个数组的重复元素并输出?
------解决方案--------------------
- JScript code
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; }
------解决方案--------------------
- JScript code
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; }
------解决方案--------------------
- JScript code
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>
------解决方案--------------------