for of, for in, forEach, map, ... TEST

let time = Date.now();    
let total = 0;
for (let i = 0; i < 100000; i += 1) {
    total += i;
}
console.log('for 100000-0:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let i = 0; i < 100000; i += 1) {
    total += i;
}
console.log('for 100000-1:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let i = 0; i < 1000000; i += 1) {
    total += i;
}
console.log('for 1000000-0:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let i = 0; i < 1000000; i += 1) {
    total += i;
}
console.log('for 1000000-1:', Date.now() - time, ' calcResult:', total)

let i = 0;
total = 0;
time = Date.now();
while( i < 1000000){
    total += i;
    i += 1;
}
console.log('while 1000000-0:', Date.now() - time, ' calcResult:', total)

i = 0
total = 0;
time = Date.now();
while( i < 1000000){
    total += i;
    i += 1;
}
console.log('while 1000000-1:', Date.now() - time, ' calcResult:', total)

arr = new Array(1000000)
total = 0;
time = Date.now();
for (let item in arr) {
    total += 1;
}
console.log('for in 1000000-0:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let item in arr) {
    total += 1; // 請注意這里乎澄,空元素數(shù)組摄狱,不會進入其中搁胆;
}
console.log('for in 1000000-1:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let item in arr) {
    total += 1; // 請注意這里,空元素數(shù)組矮瘟,不會進入其中;
}
console.log('for in 1000000-1:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
for(let item of arr) {
    total += 1; // 請注意這里,空元素數(shù)組岗宣,會進入其中
}
console.log('for of 1000000-1:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.forEach(item => {
    total += 1;
})
console.log('forEach 1000000-0:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.map(item => {
    total += 1;
})
console.log('map 1000000-0:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.filter(item => {
    total += 1;
})
console.log('filter 1000000-0:', Date.now() - time, ' calcResult:', total)

結(jié)果:

VM532:10 for 100000-0: 3  calcResult: 4999950000
VM532:13 for 100000-1: 1  calcResult: 4999950000
VM532:20 for 1000000-0: 14  calcResult: 499999500000
VM532:27 for 1000000-1: 11  calcResult: 499999500000
VM532:36 while 1000000-0: 15  calcResult: 499999500000
VM532:45 while 1000000-1: 15  calcResult: 499999500000
VM532:53 for in 1000000-0: 1  calcResult: 0
VM532:60 for in 1000000-1: 1  calcResult: 0
VM532:67 for in 1000000-1: 1  calcResult: 0
VM532:74 for of 1000000-1: 29  calcResult: 1000000
VM532:81 forEach 1000000-0: 2  calcResult: 0
VM532:88 map 1000000-0: 3  calcResult: 0
VM532:95 filter 1000000-0: 1  calcResult: 0

測試arr有值時結(jié)果:

// ------ 2 ------

let arr = new Array(1000000)
let i = 0
let time = Date.now();
while( i < arr.length){
    arr[i] = i
    i += 1;
}
console.log('set arr 1000000-0:', Date.now() - time )

let total = 0
time = Date.now();
for (let i = 0; i < arr.length; i += 1) {
    total += arr[i];
}
console.log('for 100000-0:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let item in arr) {
    total += arr[item]; // 請注意這里满俗,空元素數(shù)組转捕,不會進入其中;
}
console.log('for in 1000000-0:', Date.now() - time, ' calcResult:', total)

total = 0;
time = Date.now();
for (let item in arr) {
    total += arr[item]; // 請注意這里漫雷,空元素數(shù)組瓜富,不會進入其中;
}
console.log('for in 1000000-1:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
for(let item of arr) {
    total += item; // 請注意這里降盹,空元素數(shù)組与柑,會進入其中
}
console.log('for of 1000000-1:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.forEach(item => {
    total += item;
})
console.log('forEach 1000000-0:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.map(item => {
    total += item;
})
console.log('map 1000000-0:', Date.now() - time, ' calcResult:', total)

time = Date.now();
total = 0;
arr.filter(item => {
    total += item;
})
console.log('filter 1000000-0:', Date.now() - time, ' calcResult:', total)

結(jié)果:

VM755:10 set arr 1000000-0: 6
VM755:17 for 100000-0: 15  calcResult: 499999500000
VM755:24 for in 1000000-0: 270  calcResult: 499999500000
VM755:31 for in 1000000-1: 226  calcResult: 499999500000
VM755:38 for of 1000000-1: 21  calcResult: 499999500000
VM755:45 forEach 1000000-0: 16  calcResult: 499999500000
VM755:52 map 1000000-0: 20  calcResult: 499999500000
VM755:59 filter 1000000-0: 16  calcResult: 499999500000
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谤辜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子价捧,更是在濱河造成了極大的恐慌丑念,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件结蟋,死亡現(xiàn)場離奇詭異脯倚,居然都是意外死亡,警方通過查閱死者的電腦和手機嵌屎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門推正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宝惰,你說我怎么就攤上這事植榕。” “怎么了尼夺?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵尊残,是天一觀的道長。 經(jīng)常有香客問我淤堵,道長寝衫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任拐邪,我火速辦了婚禮慰毅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘庙睡。我一直安慰自己事富,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布乘陪。 她就那樣靜靜地躺著统台,像睡著了一般。 火紅的嫁衣襯著肌膚如雪啡邑。 梳的紋絲不亂的頭發(fā)上贱勃,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音谤逼,去河邊找鬼贵扰。 笑死,一個胖子當著我的面吹牛流部,可吹牛的內(nèi)容都是我干的戚绕。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼枝冀,長吁一口氣:“原來是場噩夢啊……” “哼舞丛!你這毒婦竟也來了耘子?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤球切,失蹤者是張志新(化名)和其女友劉穎谷誓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吨凑,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡捍歪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸵钝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糙臼。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恩商,靈堂內(nèi)的尸體忽然破棺而出弓摘,到底是詐尸還是另有隱情,我是刑警寧澤痕届,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站末患,受9級特大地震影響研叫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜璧针,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一嚷炉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧探橱,春花似錦申屹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胞枕,卻和暖如春杆煞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腐泻。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工决乎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人派桩。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓构诚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铆惑。 傳聞我的和親對象是個殘疾皇子范嘱,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容