最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js中map()函數(shù)的使用案例詳解

 更新時(shí)間:2022年11月11日 10:43:39   作者:芳草斜陽_晨光  
map()方法定義在JavaScript的Array中,它返回一個(gè)新的數(shù)組,數(shù)組中的元素為原始數(shù)組調(diào)用函數(shù)處理后的值,這篇文章主要介紹了js中map()函數(shù)的使用,需要的朋友可以參考下

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔

前言

關(guān)鍵詞:map

項(xiàng)目中我們常常會(huì)遇到要對后端返回的數(shù)據(jù)進(jìn)行修改,從而達(dá)到符合我們前端開發(fā)人員的需要,其中map是常用到的對數(shù)組元素進(jìn)行修改的重要函數(shù)。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、概念

map() 方法定義在JavaScript的Array中,它返回一個(gè)新的數(shù)組,數(shù)組中的元素為原始數(shù)組調(diào)用函數(shù)處理后的值。值得注意的是:1、map()函數(shù)不會(huì)對空數(shù)組進(jìn)行檢測;2、map()函數(shù)不會(huì)改變原始數(shù)組,它形成的是 一個(gè)新的數(shù)組

二、相關(guān)語法

array.map(function(currentValue, index, arr), thisIndex)
參數(shù)說明:

  • function(currentValue, index, arr):必須。為一個(gè)函數(shù),數(shù)組中的每個(gè)元素都會(huì)執(zhí)行這個(gè)函數(shù)。其中函數(shù)參數(shù):
  1. currentValue:必須。表述當(dāng)前元素的的值(item)
  2. index:可選。當(dāng)前元素的索引也就是第幾個(gè)數(shù)組元素。
  3. arr:可選。當(dāng)前元素屬于的數(shù)組對象
  • thisValue:可選。對象作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作"this"的值

三、示例

例1:對原數(shù)組元素進(jìn)行平方后再賦值給新的數(shù)組

let array = [1, 2, 3, 4, 5];

let newArray = array.map((item) => {
    return item * item;
})

console.log(newArray)  // [1, 4, 9, 16, 25]

例2:將int類型的數(shù)據(jù)換成字符串類型

this.tableData = list.map(function (item) {
                if (item.leaseStatus === 0) {
                  item.leaseStatus = '已租';
                } else if (item.leaseStatus === 1) {
                  item.leaseStatus = '未租';
                } else if (item.leaseStatus === 2) {
                  item.leaseStatus = '已租';
                }
                if (res.data.data === null) {
                  item = '暫無記錄';
                }
                return item;
              });

選擇Object還是Map

(1)內(nèi)存占用

Object和Map的工程級實(shí)現(xiàn)在不同瀏覽器間存在明顯差異,但存儲(chǔ)單個(gè)鍵/值對所占用的內(nèi)存數(shù)量都會(huì)隨鍵的數(shù)量線性增加。批量添加或刪除鍵/值對則取決于各瀏覽器對該類型內(nèi)存分配的工程實(shí)現(xiàn)。不同瀏覽器的情況不同,但給定固定大小的內(nèi)存,Map大約可以比Object多存儲(chǔ)50%的鍵/值對

(2)插入性能

向Object和Map中插入新鍵/值對的消耗大致相當(dāng),不過插入Map在所有瀏覽器中一般會(huì)稍微快一點(diǎn)兒。對這兩個(gè)類型來說,插入速度并不會(huì)隨著鍵/值對數(shù)量而線性增加。如果代碼涉及大量插入操作,那么顯然Map的性能更佳

(3)查找速度

與插入不同,從大型Object和Map中查找鍵/值對的差異極小,但如果只包含少量鍵/值對,則Object有時(shí)候速度更快。在把Object當(dāng)成數(shù)組使用的情況下(比如使用連續(xù)整數(shù)作為屬性),瀏覽器引擎可以進(jìn)行優(yōu)化,在內(nèi)存中使用更高效的布局。這對Map來說是不可能的。對這兩個(gè)類型而言,查找速度不會(huì)隨著鍵/值對數(shù)量增加而線性增加。如果代碼涉及大量查找操作,那么某些情況下可能選擇Object更好一些

(4)刪除性能

使用delete刪除Object屬性的性能一直以來飽受詬病,目前在很多瀏覽器中仍然如此。為此,出現(xiàn)了一些偽刪除對象屬性的操作,包括把屬性設(shè)置為undefined或null。但很多時(shí)候,這都是一種討厭的或不適宜的折中。而對大多數(shù)瀏覽器引擎來說,Map的delete()操作都比插入和查找更快。如果代碼涉及大量刪除操作,那么毫無疑問應(yīng)該選擇Map

最后

到此這篇關(guān)于js中map()函數(shù)的使用的文章就介紹到這了,更多相關(guān)js中map()函數(shù)的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript實(shí)時(shí)顯示北京時(shí)間的方法

    javascript實(shí)時(shí)顯示北京時(shí)間的方法

    這篇文章主要介紹了javascript實(shí)時(shí)顯示北京時(shí)間的方法,涉及javascript操作時(shí)間顯示的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 教你用純JS實(shí)現(xiàn)語雀的劃詞高亮功能

    教你用純JS實(shí)現(xiàn)語雀的劃詞高亮功能

    最近在搞一個(gè)網(wǎng)站,需要在內(nèi)容區(qū)域?qū)崿F(xiàn)劃詞高亮功能,所以下面這篇文章主要給大家介紹了關(guān)于如何用純JS實(shí)現(xiàn)語雀的劃詞高亮功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 讓圖片跳躍起來  javascript圖片輪播特效

    讓圖片跳躍起來 javascript圖片輪播特效

    讓圖片跳躍起來 這篇文章主要介紹了javascript圖片輪播特效,圖片按照間隔時(shí)間進(jìn)行切換,文章具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 分享8個(gè)JavaScript庫可更好地處理本地存儲(chǔ)

    分享8個(gè)JavaScript庫可更好地處理本地存儲(chǔ)

    這篇文章主要介紹了分享8個(gè)JavaScript庫可更好地處理本地存儲(chǔ),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法(3種方法)

    js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法(3種方法)

    這篇文章主要介紹了js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法,涉及JavaScript針對select下拉列表選擇操作的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • 前端代碼優(yōu)化規(guī)范及實(shí)踐指南

    前端代碼優(yōu)化規(guī)范及實(shí)踐指南

    在前端開發(fā)的過程中,難免會(huì)遇到代碼結(jié)構(gòu)混亂、維護(hù)困難的情況,這就是所謂的“屎山代碼”,“屎山”不僅影響代碼的可讀性和可維護(hù)性,也增加了開發(fā)的難度和出錯(cuò)的風(fēng)險(xiǎn),在這里總結(jié)了一下代碼優(yōu)化規(guī)范及實(shí)踐指南,需要的朋友可以參考下
    2025-07-07
  • 淺析JavaScrip哪些操作會(huì)造成內(nèi)存泄露以及預(yù)防方法

    淺析JavaScrip哪些操作會(huì)造成內(nèi)存泄露以及預(yù)防方法

    在?JavaScript?中,內(nèi)存泄露是指程序不再使用的內(nèi)存沒有被釋放,從而導(dǎo)致內(nèi)存的持續(xù)增長,最終可能導(dǎo)致性能下降或應(yīng)用崩潰,本文整理了一些容易造成內(nèi)存泄漏的操作以及預(yù)防方法,需要的可以了解下
    2024-12-12
  • js判讀瀏覽器是否支持html5的canvas的代碼

    js判讀瀏覽器是否支持html5的canvas的代碼

    瀏覽器是否支持html5的canvas,我們可以使用js來判斷下,具體如下,喜歡的朋友可以收藏
    2013-11-11
  • 如jQuery般易用的api風(fēng)格代碼分享

    如jQuery般易用的api風(fēng)格代碼分享

    最近幾天閑來無事,隨便寫了點(diǎn)代碼玩了玩。個(gè)人覺得,應(yīng)該把編碼當(dāng)做一種樂趣,要不然會(huì)覺得很累...
    2011-01-01
  • JavaScript中的FormData類型示例詳解

    JavaScript中的FormData類型示例詳解

    這篇文章主要介紹了JavaScript中FormData類型的相關(guān)資料,JavaScript中的FormData接口用于構(gòu)建和發(fā)送表單數(shù)據(jù)(尤其適合文件上傳),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07

最新評論

宁远县| 社旗县| 华宁县| 武城县| 延吉市| 宜都市| 岑溪市| 杂多县| 浪卡子县| 大城县| 绥棱县| 梨树县| 湘潭市| 望奎县| 汤原县| 明溪县| 安吉县| 邢台市| 武功县| 宜黄县| 昌平区| 宁南县| 克东县| 西贡区| 延津县| 连城县| 台湾省| 武义县| 丁青县| 开原市| 万盛区| 临海市| 临澧县| 德江县| 邮箱| 南澳县| 手游| 东光县| 资溪县| 松潘县| 三江|