摘要:為數(shù)組定義了個迭代方法,每個方法都接受兩個參數(shù)每一項上運行的函數(shù),運行該函數(shù)的作用域?qū)ο罂蛇x。
ECMAScript5為數(shù)組定義了5個迭代方法,每個方法都接受兩個參數(shù):每一項上運行的函數(shù),運行該函數(shù)的作用域?qū)ο螅蛇x)。
every() 若數(shù)組每一項都符合函數(shù)要求,返回true,否則返回false
some() 若數(shù)組任意一項符合函數(shù)要求,返回true,否則返回false
filter() 對數(shù)組每一項運行函數(shù),返回符合函數(shù)要求的項組成的數(shù)組
map() 對數(shù)組每一項運行函數(shù),返回每次函數(shù)結(jié)果組成的數(shù)組
forEach() 對數(shù)組每一項運行函數(shù),無返回值
廢話不多說,直接上代碼
var numbers = [1,2,3,4,5,4,3,2,1] var everyResult = numbers.every(function (item,index,array) { return (item > 2); }) console.log(everyResult); //false var someResult = numbers.some(function (item,index,array) { return (item>2); }) console.log(someResult); //true var filterResult = numbers.filter(function (item,index,array) { return (item > 2); }) console.log(filterResult); //[3,4,5,4,3] var mapResult = numbers.map(function (item,index,array) { return item*2; }) console.log(mapResult); //[2,4,6,8,10,8,6,4,2] numbers.forEach(function (item,index,array) { console.log(item) })
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81360.html
摘要:該方法可以將類數(shù)組對象轉(zhuǎn)換為數(shù)組,所謂類數(shù)組對象,就是含和索引屬性的對象返回的數(shù)組長度取決于對象屬性的值,且非索引屬性的值,或索引大于的值都不會被返回到數(shù)組中實錘如下簡潔寫法該方法可以將類數(shù)組對象和可迭代對象轉(zhuǎn)換為數(shù)組類數(shù)組對象上文已提及, Array.prototype.slice.call(obj) 該方法可以將類數(shù)組對象轉(zhuǎn)換為數(shù)組,所謂類數(shù)組對象,就是含 length 和索引屬性...
摘要:本文從使用對數(shù)組進行遍歷開始說起,粗略對比使用進行遍歷的差異,并由此引入中可迭代對象迭代器的概念,并對其進行粗略介紹。說到這里,就繼續(xù)說一下迭代器關閉的情況了。確實,符合可迭代協(xié)議和迭代器協(xié)議的。 本文從使用 forEach 對數(shù)組進行遍歷開始說起,粗略對比使用 forEach , for...in , for...of 進行遍歷的差異,并由此引入 ES6 中 可迭代對象/迭代器 的概...
摘要:有兩個協(xié)議可迭代協(xié)議和迭代器協(xié)議。為了變成可迭代對象,一個對象必須實現(xiàn)或者它原型鏈的某個對象必須有一個名字是的屬性迭代器協(xié)議該迭代器協(xié)議定義了一種標準的方式來產(chǎn)生一個有限或無限序列的值。 ECMAScript 2015的幾個補充,并不是新的內(nèi)置或語法,而是協(xié)議。這些協(xié)議可以被任何遵循某些約定的對象來實現(xiàn)。有兩個協(xié)議:可迭代協(xié)議和迭代器協(xié)議。 可迭代協(xié)議 可迭代協(xié)議允許 JavaScri...
摘要:下面就總結(jié)下中常見的幾種循環(huán)方法。因為循環(huán)將遍歷對象本身的所有可枚舉屬性,以及對象從其構(gòu)造函數(shù)原型中繼承的屬性。上也明確提示不應該用于迭代一個,其中索引順序很重要。 引言 平時工作中循環(huán)的使用場景可以說是非常之多了,昨天改別人代碼時候有位同事非常喜歡用ES6等新特性,一個數(shù)組的遍歷全部都是用for...of...,然后業(yè)務需求要用到數(shù)組中的序號index值,就很尷尬了,我只能改回for...
摘要:我們將從概念上理解迭代器是什么,以及在何處使用它們和示例。同時返回一個名為迭代器的對象,這個迭代器將擁有一個名為的方法,該方法將返回一個具有鍵值為和的對象。下圖可以幫助建立可迭代對象迭代器和之間的關系,這種關系稱為迭代協(xié)議。 showImg(https://segmentfault.com/img/bVbkk18?w=1000&h=562); 我們將在本文中分析迭代器。迭代器是在Jav...
摘要:通過生成器創(chuàng)建的迭代器也是可迭代對象,因為生成器默認會為屬性賦值。我們可以用來訪問對象的默認迭代器,例如對于一個數(shù)組獲得了數(shù)組這個可迭代對象的默認迭代器,并操作它遍歷了數(shù)組中的元素。 ES6 新的數(shù)組方法、集合、for-of 循環(huán)、展開運算符(...)甚至異步編程都依賴于迭代器(Iterator )實現(xiàn)。本文會詳解 ES6 的迭代器與生成器,并進一步挖掘可迭代對象的內(nèi)部原理與使用方法 ...
閱讀 687·2021-11-15 11:39
閱讀 2919·2021-10-08 10:04
閱讀 3285·2019-08-30 10:57
閱讀 3040·2019-08-26 13:25
閱讀 1930·2019-08-26 12:14
閱讀 2656·2019-08-23 15:27
閱讀 3014·2019-08-23 15:18
閱讀 1796·2019-08-23 14:26