国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

你應(yīng)該了解的JavaScript Array.map()五種用途小結(jié)

2024-05-06 15:27:57
字體:
供稿:網(wǎng)友

前言

從經(jīng)典的 for 循環(huán)到 forEach() 方法,用于迭代數(shù)據(jù)集合的各種技術(shù)和方法比比皆是。但是現(xiàn)在比較流行的方法是 .map() 方法。

.map() 通過指定函數(shù)調(diào)用一個(gè)數(shù)組中每一項(xiàng)元素,來創(chuàng)建一個(gè)新數(shù)組。 .map() 是一種 non-mutating(非變異) 方法,它創(chuàng)建一個(gè)新數(shù)組,而不是只對(duì)調(diào)用數(shù)組進(jìn)行更改的 mutating(變異) 方法。這可能很難記住。

語(yǔ)法:

array.map(function(currentValue,index,arr), thisValue)
currentValue:必須。當(dāng)前元素的值 index:可選。當(dāng)期元素的索引值 arr:可選。當(dāng)期元素屬于的數(shù)組對(duì)象 thisValue:可選。對(duì)象作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作 "this" 的值。可改變this指向,

map() 方法返回一個(gè)新數(shù)組,數(shù)組中的元素為原始數(shù)組元素調(diào)用函數(shù)處理后的值。

map() 方法按照原始數(shù)組元素順序依次處理元素。

注意: map() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)。

注意: map() 不會(huì)改變?cè)紨?shù)組。

在這篇文章中,我們將探討一下 JavaScript 中 .map() 的 4 個(gè)值得注意的用法。讓我們開始!

在數(shù)組中的每一項(xiàng)元素上調(diào)用一個(gè)函數(shù) 將字符串轉(zhuǎn)換為數(shù)組 在 JavaScript 庫(kù)中用于渲染列表 重新格式化數(shù)組對(duì)象 小技巧使用案例

1. 在數(shù)組中的每一項(xiàng)元素上調(diào)用一個(gè)函數(shù)

如前所述,.map() 接受回調(diào)函數(shù)作為其參數(shù)之一,該函數(shù)的一個(gè)重要參數(shù)是由該函數(shù)處理的項(xiàng)的當(dāng)前值。這是一個(gè)必需的參數(shù)。有了這個(gè)參數(shù),我們可以修改數(shù)組中的每個(gè)單獨(dú)項(xiàng),并在其上創(chuàng)建一個(gè)新元素。這里有一個(gè)例子:

const sweetArray = [2, 3, 4, 5, 35]const sweeterArray = sweetArray.map(sweetItem => {return sweetItem * 2})console.log(sweetArray) // [2, 3, 4, 5, 35]console.log(sweeterArray) // [4, 6, 8, 10, 70]

我們可以看到,原數(shù)組 sweetArray 并沒有被修改,所以 .map() 是一種 non-mutating(非變異) 方法。這里值得一提的是 forEach() 方法,它是遍歷數(shù)組,對(duì)原來的數(shù)據(jù)操作,會(huì)改變?cè)瓟?shù)組。

這甚至可以進(jìn)一步簡(jiǎn)化,使其更清潔:

// 創(chuàng)建一個(gè)要使用的函數(shù)const makeSweeter = sweetItem => sweetItem * 2;// 我們有一個(gè)數(shù)組const sweetArray = [2, 3, 4, 5, 35];// 調(diào)用我們制作的函數(shù)。更具可讀性const sweeterArray = sweetArray.map(makeSweeter);console.log(sweeterArray); // [4, 6, 8, 10, 70]

擁有像 sweetArray.map(makeSweeter) 這樣的代碼可以讓你在跳轉(zhuǎn)到這段代碼時(shí)更具可讀性。

2.將字符串轉(zhuǎn)換為數(shù)組

已知的 .map() 屬于 Array 原型。 我們?nèi)绾问褂盟鼘⒆址D(zhuǎn)換為數(shù)組。 不用擔(dān)心,我們不需要再開發(fā)一個(gè)方法來處理字符串,而是使用特殊的 .call() 方法。

JavaScript 中的所有內(nèi)容都是對(duì)象,方法只是附加到這些對(duì)象的函數(shù)。 .call() 允許我們利用另一個(gè)對(duì)象的上下文。 因此,我們將數(shù)組中的 .map() 上下文復(fù)制到字符串。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 泸西县| 积石山| 汝州市| 公主岭市| 渭源县| 民勤县| 南昌县| 盖州市| 安顺市| 乌海市| 茌平县| 沙洋县| 清苑县| 淮南市| 定远县| 额尔古纳市| 巴林右旗| 连山| 黄浦区| 涞水县| 新野县| 依安县| 革吉县| 莱西市| 吉木萨尔县| 贵溪市| 涟源市| 崇阳县| 垫江县| 区。| 绍兴市| 安阳市| 平乐县| 丹凤县| 城口县| 高清| 周口市| 迭部县| 二连浩特市| 江川县| 西青区|