国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

yibinnn / 3071人閱讀

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


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

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

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

數(shù)組(Array)

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

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

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

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

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

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

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

返回值:undefined.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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:可枚舉其枚舉屬性的對象。

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

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

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

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

對象(Object)

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

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

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

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

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

...未完待續(xù)

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89401.html

相關(guān)文章

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

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

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

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

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

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

    kohoh_ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<