Javascript中Object和Map之間的轉(zhuǎn)換方法
簡單的區(qū)分Map和Object
Map是ES6退出的一個類型,特點(diǎn):任何值都可作為屬性名
Object特點(diǎn):屬性名只能是字符串(一開始我也不信,測試后才發(fā)現(xiàn)的)
代碼
圖片
創(chuàng)建一個map類型
new Map([ [key, value], [key1, value1] ])
簡單的介紹下面兩個方法
- Object.entries()方法返回一個數(shù)組,成員是參數(shù)對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對數(shù)組。
- Object.fromEntries()方法是Object.entries()的逆操作,用于將一個鍵值對數(shù)組轉(zhuǎn)為對象。
Object類型 轉(zhuǎn) Map類型
這里主要用到了Object.entries的特性,
Object.entries 返回一個二維數(shù)組,其中數(shù)組中的第一個值是key,第二個值是value
const obj = { a: '我是obj.a', b: '我是obj.b', c: '我是obj.c', } console.log(obj) const map = new Map(Object.entries(obj)) console.log(map) console.log(map.get('a'), '我是map 屬性名') console.log(map.get('b'), '我是map 屬性名')
Map類型轉(zhuǎn)Object類型
const arr = [1, 2, 3], obj = { a: '1', b: 2 }, number = 22 const map = new Map() map.set(arr, '我是map的第1個值,我是數(shù)組') map.set(obj, '我是map的第2個值,我是對象') map.set(number, '我是map的第3個值, 我是簡單數(shù)據(jù)類型') const newObj = Object.fromEntries(map.entries()) console.log(newObj, '我是新對象') console.log('新對象類型', typeof newObj)
總結(jié)
到此這篇關(guān)于Javascript中Object和Map之間的轉(zhuǎn)換方法的文章就介紹到這了,更多相關(guān)js Object和Map轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript 中如何實(shí)現(xiàn)并發(fā)控制
在日常開發(fā)過程中,你可能會遇到并發(fā)控制的場景,比如控制請求并發(fā)數(shù)。那么在 JavaScript 中如何實(shí)現(xiàn)并發(fā)控制呢?在回答這個問題之前,我們來簡單介紹一下并發(fā)控制。2021-05-05使用Firebug對js進(jìn)行斷點(diǎn)調(diào)試的圖文方法
使用Firebug調(diào)試JavaScript非常方便。因?yàn)閖s的錯誤不容易查找,用這個就方便多了。2011-04-04前端date.locale?is?not?a?function錯誤的簡單解決辦法
這篇文章主要給大家介紹了關(guān)于前端date.locale?is?not?a?function錯誤的簡單解決辦法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09javascript 節(jié)點(diǎn)遍歷函數(shù)
火狐官網(wǎng)上找到的一組函數(shù),相當(dāng)于treeWalker,有了它可以方便地在IE實(shí)現(xiàn)Traversal API 2的所有功能2010-03-03javascript 設(shè)計(jì)模式之享元模式原理與應(yīng)用詳解
這篇文章主要介紹了javascript 設(shè)計(jì)模式之享元模式,結(jié)合實(shí)例形式詳細(xì)分析了javascript 設(shè)計(jì)模式之享元模式相關(guān)概念、原理、應(yīng)用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04