题目:编写一个数组去重函数。(使用尽量多的方法来实现)
//如输入数组[1,"a",{b:2},{c:3},{b:2},{b:"2"},"1","a"],返回[1,"a",{b:2},{c:3},"1"]
function unique(arr) { var temp=[]; //存储新数组 var keys = []; //存储对象键集合 for(var i=0; i<arr.length; i++) { var a = arr[i]; if(typeof a !== "object") { var idx = temp.indexOf(a) if(idx>-1){ continue; }else { temp.push(a); } } else { for(var k in a) { var idx1 = keys.indexOf(k); if(idx1===-1) { //如果在keys中还不存在对象 keys.push(k); //存储键 temp.push(a); //值存储新数组 } } } } return temp; }