成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

循環(huán)的幾種類型

yibinnn / 3105人閱讀

摘要:返回值方法創(chuàng)建一個(gè)新數(shù)組其包含通過所提供函數(shù)實(shí)現(xiàn)的測(cè)試的所有元素。如果數(shù)組中的每個(gè)元素都滿足測(cè)試函數(shù),則返回,否則返回。


循環(huán)遍歷數(shù)組的時(shí)候,你還在用for語(yǔ)句走天下嗎?

我曾經(jīng)就是for走天下,最后發(fā)現(xiàn)自己給自己挖了一個(gè)巨大的坑,層層嵌套的循環(huán),總要花大量的時(shí)間去捋清各種邏輯關(guān)系,很容易邏輯混亂。終于你經(jīng)過千辛萬苦把邏輯捋清了,實(shí)現(xiàn)了功能需求??墒沁@時(shí)候接踵而來的問題來了?性能,擴(kuò)展性,重用性....等等,合著我費(fèi)了九牛二虎之力白費(fèi)了。這時(shí)候一把鼻涕一把淚,滿是辛酸;

這時(shí)候某人說,有很多好用的API,你為什么不去用呢?此刻恍然大悟。

數(shù)組(Array)

Array.prototype.forEach() : 方法對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)。

        array.forEach(callback(currentValue, index, array){
            //do something
        }, this)

參數(shù)
callback:為數(shù)組中每個(gè)元素執(zhí)行的函數(shù),該函數(shù)接收三個(gè)參數(shù):

currentValue(當(dāng)前值):數(shù)組中正在處理的當(dāng)前元素。

index(索引): 數(shù)組中正在處理的當(dāng)前元素的索引。

array: forEach()方法正在操作的數(shù)組。

thisArg可選:可選參數(shù)。當(dāng)執(zhí)行回調(diào) 函數(shù)時(shí)用作this的值(參考對(duì)象)。

返回值:undefined.

Array.prototype.filter(): 方法創(chuàng)建一個(gè)新數(shù)組, 其包含通過所提供函數(shù)實(shí)現(xiàn)的測(cè)試的所有元素。

    const new_array = arr.filter(callback[, thisArg])

callback :用來測(cè)試數(shù)組的每個(gè)元素的函數(shù)。調(diào)用時(shí)使用參數(shù) (element, index, array)。返回true表示保留該元素(通過測(cè)試),false則不保留。

thisArg : 可選。執(zhí)行 callback 時(shí)的用于 this 的值。

返回值: 一個(gè)新的通過測(cè)試的元素的集合的數(shù)組

Array.prototype.map(): 創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。

    let new_array = arr.map(function callback(currentValue, index, array) { 
        // Return element for new_array 
    }[, thisArg])

callback : 生成新數(shù)組元素的函數(shù),使用三個(gè)參數(shù):

currentValue : callback 的第一個(gè)參數(shù),數(shù)組中正在處理的當(dāng)前元素。

index : callback 的第二個(gè)參數(shù),數(shù)組中正在處理的當(dāng)前元素的索引。

array: callback 的第三個(gè)參數(shù),map 方法被調(diào)用的數(shù)組。

thisArg:可選的。執(zhí)行 callback 函數(shù)時(shí) 使用的this 值。

Array.prototype.every(): 如果數(shù)組中的每個(gè)元素都滿足測(cè)試函數(shù),則返回 true,否則返回 false。

Array.prototype.some(): 如果數(shù)組中至少有一個(gè)元素滿足測(cè)試函數(shù),則返回 true,否則返回 false。

也許明天我們不在用for走天下,取而替代的是 for of

for...of 語(yǔ)句在可迭代對(duì)象(包括 Array,Map,Set,String,TypedArray,arguments 對(duì)象等等)上創(chuàng)建一個(gè)迭代循環(huán),調(diào)用自定義迭代鉤子,并為每個(gè)不同屬性的值執(zhí)行語(yǔ)句。

for ( variable of iterable)

迭代Array:
let iterable = [10, 20, 30];
for (let value of iterable) {
    console.log(value+1);
}// 11,21,31

迭代String:
let iterable = "boo";
for (let value of iterable) {
  console.log(value);
}// a,b,c

variable: 在每次迭代中,將不同屬性的值分配給變量。

iterable:可枚舉其枚舉屬性的對(duì)象。

for...of與for...in的區(qū)別:

for...in 語(yǔ)句以原始插入順序迭代對(duì)象的可枚舉屬性。針對(duì)object

for...of 語(yǔ)句遍歷可迭代對(duì)象定義要迭代的數(shù)據(jù)。對(duì)于Array,Map,Set,String,TypedArray,arguments 對(duì)象等等

在瀏覽器中調(diào)試一遍效果更佳

對(duì)象(Object)

對(duì)象循環(huán)的話目前我知道 for in 是最好的選擇啦!用法和 for of 一樣

對(duì)象是類數(shù)組對(duì)象,當(dāng)然我們也可以把對(duì)象轉(zhuǎn)化為數(shù)組:

1.Object.keys():返回一個(gè)數(shù)組,包含指定對(duì)象的所有自有可遍歷屬性的名稱

2.類數(shù)組轉(zhuǎn)化為數(shù)組:Array.prototype.slice.call(arguments)

3.Array.from() :對(duì)偽數(shù)組或可迭代對(duì)象(包括arguments Array,Map,Set,String...)轉(zhuǎn)換成數(shù)組對(duì)象。

...未完待續(xù)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89401.html

相關(guān)文章

  • 循環(huán)幾種類型

    摘要:返回值方法創(chuàng)建一個(gè)新數(shù)組其包含通過所提供函數(shù)實(shí)現(xiàn)的測(cè)試的所有元素。如果數(shù)組中的每個(gè)元素都滿足測(cè)試函數(shù),則返回,否則返回。 showImg(https://segmentfault.com/img/bVXxkh?w=700&h=700);循環(huán)遍歷數(shù)組的時(shí)候,你還在用for語(yǔ)句走天下嗎? 我曾經(jīng)就是for走天下,最后發(fā)現(xiàn)自己給自己挖了一個(gè)巨大的坑,層層嵌套的循環(huán),總要花大量的時(shí)間去捋清各種...

    clasnake 評(píng)論0 收藏0
  • 循環(huán)幾種類型

    摘要:返回值方法創(chuàng)建一個(gè)新數(shù)組其包含通過所提供函數(shù)實(shí)現(xiàn)的測(cè)試的所有元素。如果數(shù)組中的每個(gè)元素都滿足測(cè)試函數(shù),則返回,否則返回。 showImg(https://segmentfault.com/img/bVXxkh?w=700&h=700);循環(huán)遍歷數(shù)組的時(shí)候,你還在用for語(yǔ)句走天下嗎? 我曾經(jīng)就是for走天下,最后發(fā)現(xiàn)自己給自己挖了一個(gè)巨大的坑,層層嵌套的循環(huán),總要花大量的時(shí)間去捋清各種...

    HtmlCssJs 評(píng)論0 收藏0
  • javascript幾種常見遍歷數(shù)據(jù)結(jié)構(gòu)的語(yǔ)法

    摘要:接觸這么多年,第一次總結(jié)一下它的遍歷語(yǔ)法。而且你必須借助特定的結(jié)構(gòu)才能遍歷數(shù)據(jù)結(jié)構(gòu)。它的作用是遍歷對(duì)象的鍵名。建議僅在遍歷數(shù)組的時(shí)候使用。另一個(gè)優(yōu)點(diǎn)是,它可以遍歷任何部署了接口的數(shù)據(jù)結(jié)構(gòu),甚至是非的數(shù)據(jù)類型,即自己定義的數(shù)據(jù)結(jié)構(gòu)。 接觸JavaScript這么多年,第一次總結(jié)一下它的遍歷語(yǔ)法。以前我大部分時(shí)間都在老版本的JavaScript下寫代碼,所以大部分時(shí)間都是用for...in...

    kohoh_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<