摘要:遍歷方法小結(jié)常用的遍歷方法遍歷對數(shù)組的每個元素執(zhí)行一次提供的函數(shù)創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果遍歷大家都熟悉,所以重點(diǎn)講一下與的區(qū)別相同點(diǎn)回調(diào)函數(shù)參數(shù)相同,都自帶三個屬性均不會修改原數(shù)組第二參數(shù)的
遍歷方法小結(jié) 常用的遍歷方法
for 遍歷
forEach(對數(shù)組的每個元素執(zhí)行一次提供的函數(shù))
map(創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果)
for 遍歷大家都熟悉,所以重點(diǎn)講一下forEach 與 map 的區(qū)別
相同點(diǎn):
回調(diào)函數(shù)參數(shù)相同,都自帶三個屬性:item / index / array
均不會修改原數(shù)組
第二參數(shù)this的指向均指向window(可是使用箭頭函數(shù)進(jìn)行修改)
只能遍歷數(shù)組
都不能使用循環(huán)跳出語句 break & continue
不同點(diǎn):
forEach
返回值為undefined
map
返回值為一個新的數(shù)組
可以鏈?zhǔn)秸{(diào)用
// 鏈?zhǔn)秸{(diào)用 var str = "abcde"; // 使用call在字符類型中使用map方法 Array.prototype.map.call(str, function(x) { return x; }).reverse().join(""); // edcba其他遍歷方法
filter (創(chuàng)建一個新數(shù)組, 其包含通過所提供函數(shù)實(shí)現(xiàn)的測試的所有元素)
find (返回?cái)?shù)組中滿足提供的測試函數(shù)的第一個元素的值。否則返回 undefined)
every (測試數(shù)組的所有元素是否都通過了指定函數(shù)的測試)
some (測試是否至少有一個元素通過由提供的函數(shù)實(shí)現(xiàn)的測試)
【Attention】ES5 中的for...in 遍歷
filter 將遍歷所有的元素
find & some & every 屬于「條件中斷」遍歷(即當(dāng)元素滿足某一條件是返回boolean)
四個方法都不會對原數(shù)組進(jìn)行修改
常用于對象key值的遍歷
ES6 引入的遍歷方法
[ 前置知識:for...of 可對具有iterator接口的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷 ]
原生具有iterator接口的數(shù)據(jù)結(jié)構(gòu)如下:
Array
Set
Map
String
TypedArray
NodeList 對象
函數(shù)的arguments 對象
常用來遍歷對象、數(shù)組、set、map結(jié)構(gòu)
【番外】改變原數(shù)組的方法
pop、push、reverse、shift、sort、splice、unshift
不會改變原數(shù)組的方法
concat、join、slice、toString、toLocaleString、indexOf、lastIndexOf
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/102685.html
摘要:本文已同步到中常見的設(shè)計(jì)模式如果感覺寫的還可以,就給個小星星吧,歡迎和收藏。本文中關(guān)于各種設(shè)計(jì)模式定義都是引用書中的,部分引用自百度百科已標(biāo)出。下面把我整理出的常用設(shè)計(jì)模式按類型做個表格整理。 本文已同步到Github JavaScript中常見的設(shè)計(jì)模式,如果感覺寫的還可以,就給個小星星吧,歡迎star和收藏。 最近拜讀了曾探大神的《JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐》,真是醍醐...
摘要:最近在全力整理高性能的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點(diǎn)。 最近在全力整理《高性能JavaScript》的文檔,并重新學(xué)習(xí)一遍,放在這里方便大家查看并找到自己需要的知識點(diǎn)。 前端開發(fā)文檔 高性能JavaScript 第1章:加載和執(zhí)行 腳本位置 阻止腳本 無阻塞的腳本 延遲的腳本 動態(tài)腳本元素 XMLHTTPRequest腳本注入 推薦的無阻塞模式...
摘要:高性能小結(jié)文章轉(zhuǎn)載于我的博客最近看完了動物叢書的高性能,覺得那本書的小結(jié)部分寫得非常不錯,簡潔輕快易懂概括性很強(qiáng)。由于局部變量存在于作用域鏈的起始位置,因此訪問局部變量比訪問跨作用域變量更快。 高性能javascript小結(jié) 文章轉(zhuǎn)載于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了動...
摘要:目錄導(dǎo)語對象對象小結(jié)導(dǎo)語本系列文章將重點(diǎn)講解提供的原生庫標(biāo)準(zhǔn)庫,只要在支持語言的平臺,標(biāo)準(zhǔn)庫中的提供的對象的屬性和方法都能使用對象對象的理解講的標(biāo)準(zhǔn)庫,首先要從對象談起,因?yàn)橹蟮乃袑ο蠖伎梢钥醋鍪菍ο髽?gòu)造出來的因此,對象可以看做是一個構(gòu) 目錄 導(dǎo)語 1. Object對象 2. Array對象 3. 小結(jié) 導(dǎo)語 本系列文章將重點(diǎn)講解JavaScript提供的原生庫——標(biāo)準(zhǔn)庫,只要...
摘要:性能訪問字面量和局部變量的速度是最快的,訪問數(shù)組和對象成員相對較慢變量標(biāo)識符解析過程搜索執(zhí)行環(huán)境的作用域鏈,查找同名標(biāo)識符。建議將全局變量存儲到局部變量,加快讀寫速度。優(yōu)化建議將常用的跨作用域變量存儲到局部變量,然后直接訪問局部變量。 缺陷 這本書是2010年出版的,這本書談性能是有時效性的,現(xiàn)在馬上就2018年了,這幾年前端發(fā)展的速度是飛快的,書里面還有一些內(nèi)容考慮IE6、7、8的東...
閱讀 1419·2021-10-08 10:04
閱讀 742·2021-09-07 09:58
閱讀 2921·2019-08-30 15:55
閱讀 2473·2019-08-29 17:21
閱讀 2174·2019-08-28 18:04
閱讀 3083·2019-08-28 17:57
閱讀 728·2019-08-26 11:46
閱讀 2260·2019-08-23 17:20