物件刪除(消耗時間驗證)
阿新 • • 發佈:2020-09-08
刪除物件有兩種方法:
1、delete 2、賦值undefined
簡單物件:
let data = {a:1,b:2,c:3,d:4} fn1(){ console.time('消耗時間'); data['d'] = undefined; console.timeEnd('消耗時間'); } fn2(){ console.time('消耗時間'); data.d = undefined; console.timeEnd('消耗時間'); } fn3(){ console.time('消耗時間'); delete data.d; console.timeEnd('消耗時間'); } fn1(); 消耗時間: 0.013671875ms fn2(); 消耗時間: 0.0029296875ms fn3(); 消耗時間: 0.004150390625ms
稍複雜點的物件:
let data = { "ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*" } function fn1(){ console.time('消耗時間'); data['regex'] = undefined; console.timeEnd('消耗時間'); } function fn2(){ console.time('消耗時間'); data.regex = undefined; console.timeEnd('消耗時間'); } function fn3(){ console.time('消耗時間'); delete data.regex; console.timeEnd('消耗時間'); } fn1() 消耗時間: 0.003173828125ms fn2() 消耗時間: 0.003173828125ms fn3() 消耗時間: 0.003662109375ms
從執行時間上來看,對於特別簡單的物件使用:
data.d = undefined;
速度最快
但是對於稍複雜點的資料來講,速度並沒有太大區別
另:
為什麼簡單的資料,消耗的時間反而更久???