es6迭代器遍歷對象

ES5的話也可以使用forEach番枚,ES5具有遍歷數(shù)組功能的還有map、filter村砂、some烂斋、every、reduce、reduceRight等汛骂,只不過他們的返回結(jié)果不一樣罕模。但是使用foreach遍歷數(shù)組的話,使用break不能中斷循環(huán)帘瞭,使用return也不能返回到外層函數(shù)淑掌。
ES5 Object.keys() Object.values()
1.index索引為字符串型數(shù)字,不能直接進行幾何運算
2.遍歷順序有可能不是按照實際數(shù)組的內(nèi)部順序
3.使用for in會遍歷數(shù)組所有的可枚舉屬性蝶念,包括原型抛腕。例如上栗的原型方法method和name屬性
所以for in更適合遍歷對象,不要使用for in遍歷數(shù)組媒殉。

for(let item in newObject){
          newObject[item] = object[item]
        }

使用前提:兩個對象的屬性名是一樣的担敌。

提示:

for..in // 遍歷鍵名

for..of // 遍歷鍵值對
性能測試
測試次數(shù) 常規(guī)for cache for 倒序 for 倒敘簡版 for 正序簡版 for for..of for..in forEach map
1 542.121ms 573.618ms 764.181ms 755.961ms 571.464ms 945.199ms 4077.020ms 625.859ms 3573.946ms
2 430.008ms 541.933ms 524.474ms 668.276ms 553.475ms 897.442ms 4402.246ms 605.271ms 2732.859ms
3 409.531ms 661.765ms 534.167ms 655.481ms 600.939ms 1141.093ms 3806.704ms 584.712ms 2779.192ms
4 412.972ms 643.868ms 536.026ms 674.081ms 725.149ms 930.655ms 3201.387ms 599.780ms 3152.499ms
5 417.034ms 624.323ms 520.674ms 799.568ms 574.713ms 943.449ms 3261.512ms 587.182ms 2954.195ms
6 525.771ms 955.737ms 526.208ms 771.443ms 531.962ms 954.199ms 4351.009ms 608.264ms 2888.752ms
7 498.039ms 602.703ms 555.588ms 531.464ms 541.599ms 916.678ms 3264.334ms 596.168ms 2834.663ms
8 431.694ms 523.381ms 544.974ms 527.472ms 517.833ms 1049.283ms 3744.972ms 600.286ms 3467.499ms
9 417.521ms 518.093ms 547.404ms 611.024ms 594.503ms 767.059ms 4979.348ms 601.420ms 3638.023ms
10 424.806ms 557.961ms 535.541ms 837.561ms 541.882ms 772.686ms 3284.424ms 602.443ms 3599.642ms
11 409.402ms 521.131ms 534.265ms 517.709ms 551.397ms 752.101ms 3228.123ms 629.625ms 3535.545ms
12 425.362ms 532.882ms 406.637ms 522.287ms 570.259ms 914.135ms 3449.256ms 800.857ms 3429.123ms
平均值 439.2738ms 578.3565ms 553.1468ms 651.7057ms 507.8718ms 909.0785ms 3,686.9 6ms 605.6298ms 3,221.5056ms
堆值差 357245536Byte 357245808Byte 357245624Byte 357245872Byte 357246824Byte 199268080Byte 757187208Byte 357244456Byte 43724764Byte

測試總結(jié)

運行效率: 常規(guī)for > 正序簡版 for> 倒序 for > cache for > 倒敘簡版 for> forEach > for..of> map > for..in

幾種普通 for 循環(huán)占用內(nèi)存相差不大, 而 for..of 占用運行內(nèi)存最小 for..in 性能最差,內(nèi)存占用高廷蓉,速度很慢

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柄错,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子苦酱,更是在濱河造成了極大的恐慌售貌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疫萤,死亡現(xiàn)場離奇詭異颂跨,居然都是意外死亡,警方通過查閱死者的電腦和手機扯饶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門恒削,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人尾序,你說我怎么就攤上這事钓丰。” “怎么了每币?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵携丁,是天一觀的道長。 經(jīng)常有香客問我兰怠,道長梦鉴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任揭保,我火速辦了婚禮肥橙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秸侣。我一直安慰自己存筏,他們只是感情好宠互,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椭坚,像睡著了一般予跌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藕溅,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音继榆,去河邊找鬼巾表。 笑死,一個胖子當著我的面吹牛略吨,可吹牛的內(nèi)容都是我干的集币。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼翠忠,長吁一口氣:“原來是場噩夢啊……” “哼鞠苟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秽之,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤当娱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后考榨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跨细,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡琴儿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年夹界,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羹应。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡掀鹅,死狀恐怖散休,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乐尊,我是刑警寧澤戚丸,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站扔嵌,受9級特大地震影響昏滴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜对人,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一谣殊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧牺弄,春花似錦姻几、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抚恒。三九已至,卻和暖如春络拌,著一層夾襖步出監(jiān)牢的瞬間俭驮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工春贸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留混萝,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓萍恕,卻偏偏與公主長得像逸嘀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子允粤,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355