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; }