(資料源放在最下方)
不重複數量為170個
參考方法:來源
方法一: 28ms,(ps.出來的結果是物件)
var startTime = Date.now();
var result3 = tmp.reduce((obj, item) => {
obj[item] = 1;
return obj;
}, {});
console.log(`${Date.now() - startTime} ms`);
方法二: 44ms
var startTime = Date.now();
var result2 = [...(new Set(tmp))];
console.log(`${Date.now() - startTime} ms`);
方法三: 53ms
var startTime = Date.now();
var result = Array.from(new Set(tmp));
console.log(`${Date.now() - startTime} ms`);
方法四: 88ms
var startTime = Date.now();
var result4 = tmp.filter(function(element, index, arr){
return arr.indexOf(element) === index;
});
console.log(`${Date.now() - startTime} ms`);
資料源
function SetData(){
var tmp = ['','','動力機械','塗裝技術','機車修護','汽機車技術','汽車','汽車修護','汽車技術','汽車電機','軌道車輛','農業機械','重機','飛機修護','','化工','化工技術','染整','紡織','','商業','商業事務','商業服務','商業經營','商用資訊','國際貿易','多媒體技術','廣告技術','文書處理','會計事務','流通管理','航運管理','資料處理','資訊應用','資訊處理','銷售事務','電子商務','','土木','土木建築技術','建築','建築技術','建築製圖','消防工程','營建技術','營造技術','空間測繪','電腦繪圖','','應用日語','應用英語','','家政','幼兒保育','時尚模特兒','時尚設計','時尚造型','服裝','服裝設計','流行服飾','照顧服務','美容','美容美髮','美顏技術','美髮技術','','板金','模具','模具技術','機械','機械修護','機械加工','機械技術','機械木模','機電','生物產業機電','製圖','配管','鑄造','電腦機械製圖','電腦繪圖','電腦製圖','電腦輔助機械','','休閒漁業','水產養殖','水產養殖技術','漁業','','漁業','航海','船舶機電','輪機','','無','','其他','綜合職能','銀髮族活動管理','','美容造型','美顏技術','美髮技術','美髮造型','','原住民藝能','國樂','多媒體動畫','影劇','影視戲劇','戲劇','時尚工藝','美術','舞蹈','表演技術','表演藝術','西樂','電影電視','音樂','','商業設計','圖文傳播','多媒體應用','多媒體製作','多媒體設計','室內空間設計','室內設計','家具木工','家具設計','廣告技術','廣告設計','服裝製作','美工','美工技術','美工電腦設計','裝潢技術','視覺傳達設計','金屬工藝','','休閒農業','園藝','園藝技術','園藝與休閒','寵物經營','森林','畜產保健','茶葉技術','農場經營','農業技術','造園','造園技術','野生動物保育','','冷凍空調','冷凍空調技術','家電技術','微電腦修護','控制','水電技術','航空電子','視聽電子修護','資訊','資訊技術','資訊電子','電子','電子技術','電機','電機修護','電機技術','電機空調','電機電子','電機電子技術','','水產食品','烘焙','烘焙食品','食品','食品加工','食品技術','食品經營','','中餐廚師','休閒事務','旅遊事務','烹調技術','觀光事務','觀光事業','觀光餐飲','運動與休閒管理','食品烘焙','餐飲技術','餐飲服務','餐飲管理'];
tmp=tmp.concat(tmp); // 刻意增加重複並放大數量
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
tmp=tmp.concat(tmp);
// 共有395264個元素
return tmp;
}
我比較常用 Set
其實可以寫像這樣
應該會比較好懂
const startTime = Date.now();
const result2 = [...new Set(tmp)];
console.log(`${Date.now() - startTime} ms`)
嗯嗯,感恩建議,晚點調整~~
話說設定與不設定中斷點的速度差距意外的大XD