1. 程式人生 > 實用技巧 >物件刪除(消耗時間驗證)

物件刪除(消耗時間驗證)

刪除物件有兩種方法:

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;
速度最快
但是對於稍複雜點的資料來講,速度並沒有太大區別



另:
為什麼簡單的資料,消耗的時間反而更久???