摘要:根據(jù)使用的方法不同,這個函數(shù)執(zhí)行后的返回值可能會也可能不會影響方法的返回值。對數(shù)組中的每一項運行給定函數(shù),返回改函數(shù)會返回的項組成的數(shù)組。
ECMAScript 為數(shù)組定義了五個迭代方法。 每個方法都接收兩個參數(shù):要在每一項上運行的函數(shù)和(可選的)運行該函數(shù)的作用域?qū)ο蟆绊憈his的值。 傳入這些方法中的函數(shù)會接收三個參數(shù):數(shù)組項的值、該項在數(shù)組中的位置和數(shù)組對象本省。 根據(jù)使用的方法不同,這個函數(shù)執(zhí)行后的返回值可能會也可能不會影響方法的返回值。 以下是這五個迭代方法的作用。 1、every(); 對數(shù)組中的每一項運行給定函數(shù),如果該函數(shù)對每一項都返回true,則返回true。 2、some(); 對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對任一項返回true,則返回true。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var everyResult = numbers.every(function(item, index, array){ return (item > 3); }) console.log(everyResult); //false var someResult = numbers.some(function(item, index, array) { return (item > 3); }) console.log(someResult); //true
3、filter(); 對數(shù)組中的每一項運行給定函數(shù),返回改函數(shù)會返回true的項組成的數(shù)組。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var filterResult = numbers.filter(function(item, index, array) { return (item > 3); }) console.log(filterResult); //[4, 5, 4]
4、map(); 對數(shù)組中的每一項運行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var mapResult = numbers.map(function(item, index, array) { return item * 2; }) console.log(mapResult); //[2, 4, 6, 8, 10, 8, 6, 4, 2]
5、forEach(); 對數(shù)組中的每一項運行給定的函數(shù),該方法沒有返回值,本質(zhì)上于使用for循環(huán)迭代數(shù)組一樣。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]; numbers.forEach(function(item, index, array) { //執(zhí)行某些操作 })
未完待續(xù)。。。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/83684.html
摘要:下面就總結(jié)下中常見的幾種循環(huán)方法。因為循環(huán)將遍歷對象本身的所有可枚舉屬性,以及對象從其構(gòu)造函數(shù)原型中繼承的屬性。上也明確提示不應(yīng)該用于迭代一個,其中索引順序很重要。 引言 平時工作中循環(huán)的使用場景可以說是非常之多了,昨天改別人代碼時候有位同事非常喜歡用ES6等新特性,一個數(shù)組的遍歷全部都是用for...of...,然后業(yè)務(wù)需求要用到數(shù)組中的序號index值,就很尷尬了,我只能改回for...
摘要:但實際中,內(nèi)部迭代器和外部迭代器兩者并無優(yōu)劣。迭代器并不只迭代數(shù)組迭代器模式不僅能迭代數(shù)組,還可以迭代一些類數(shù)組對象。晚安了,參考設(shè)計模式與開發(fā)實踐曾探本文作者本文鏈接迭代器模式設(shè)計模式與開發(fā)實踐閱讀筆記 迭代器模式:一個相對簡單的模式,目前絕大多數(shù)語言都內(nèi)置了迭代器,以至于大家都不覺得這是一種設(shè)計模式 迭代器模式 迭代器模式指提供一種方法訪問一個聚合對象中的各個元素,而又不需要暴露該...
摘要:文章系列設(shè)計模式單例模式設(shè)計模式策略模式設(shè)計模式代理模式概念迭代器模式是指提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內(nèi)部表示。 前言 本系列文章主要根據(jù)《JavaScript設(shè)計模式與開發(fā)實踐》整理而來,其中會加入了一些自己的思考。希望對大家有所幫助。 文章系列 js設(shè)計模式--單例模式 js設(shè)計模式--策略模式 js設(shè)計模式--代理模式 概念 迭代器模式是指...
摘要:過濾掉和簡單判斷是否是迭代器對象模擬行為對迭代器對象進行遍歷操作。看到這里你可能已經(jīng)知道了,要實現(xiàn)的功能之一就是提供一個迭代器。原文鏈接參考迭代器和生成器系列之模擬實現(xiàn)一個數(shù)據(jù)結(jié)構(gòu)展開語法循環(huán) 前言 es6新增了Set數(shù)據(jù)結(jié)構(gòu),它允許你存儲任何類型的唯一值,無論是原始值還是對象引用。這篇文章希望通過模擬實現(xiàn)一個Set來增加對它的理解。 原文鏈接 用在前面 實際工作和學(xué)習(xí)過程中,你可能也...
閱讀 3332·2021-11-25 09:43
閱讀 3018·2021-10-15 09:43
閱讀 1975·2021-09-08 09:36
閱讀 2928·2019-08-30 15:56
閱讀 751·2019-08-30 15:54
閱讀 2695·2019-08-30 15:54
閱讀 2984·2019-08-30 11:26
閱讀 1255·2019-08-29 17:27