JS筆記!Map 與其他資料結構的互相轉換

2021-09-14 02:59:02 字數 1607 閱讀 7811

ps:僅作為乙個學習筆記供往後翻閱!

(1)map 轉為陣列

map 轉為陣列最方便的方法,就是使用擴充套件運算子(...)。

const mymap = new map()

.set(true, 7)

.set(, ['abc']);

[...mymap]

// [ [ true, 7 ], [ , [ 'abc' ] ] ]

(2)陣列 轉為 map

將陣列傳入 map 建構函式,就可以轉為 map。

new map([

[true, 7],

[, ['abc']]

])// map => ['abc']

// }

(3)map 轉為物件

如果所有 map 的鍵都是字串,它可以轉為物件。

function strmaptoobj(strmap) 

return obj;

}const mymap = new map()

.set('yes', true)

.set('no', false);

strmaptoobj(mymap)

//

(4)物件轉為 map

function objtostrmap(obj) 

return strmap;

}objtostrmap()

// map

(5)map 轉為 json

map 轉為 json 要區分兩種情況。一種情況是,map 的鍵名都是字串,這時可以選擇轉為物件 json。

function strmaptojson(strmap) 

let mymap = new map().set('yes', true).set('no', false);

strmaptojson(mymap)

// ''

另一種情況是,map 的鍵名有非字串,這時可以選擇轉為陣列 json。

function maptoarrayjson(map) 

let mymap = new map().set(true, 7).set(, ['abc']);

maptoarrayjson(mymap)

// '[[true,7],[,["abc"]]]'

(6)json 轉為 map

json 轉為 map,正常情況下,所有鍵名都是字串。

function jsontostrmap(jsonstr) 

jsontostrmap('')

// map

但是,有一種特殊情況,整個 json 就是乙個陣列,且每個陣列成員本身,又是乙個有兩個成員的陣列。這時,它可以一一對應地轉為 map。這往往是陣列轉為 json 的逆操作。

function jsontomap(jsonstr) 

jsontomap('[[true,7],[,["abc"]]]')

// map => ['abc']}

**於:

ES6中Map與其他資料結構的互相轉換

最近在學習es6的基礎知識,整理了一下map與其他資料結構相互轉換的寫法。map轉為陣列的方法 let mymap newmap true,7 abc mymap console.log mymap 陣列轉為map的方法 newmap true,7 abc map轉為物件的方法 function s...

資料結構(js版 筆記)

資料結構 js版 和 jquery正在一起學。想要一起學的小夥伴加我哦 stack 先進後出 1.push 進棧 2.pop 出棧 3.isempty 棧空?4.clear 清理棧 5.peek 返回棧頂 6.size 然後棧的長度 棧的建立 function stack this.pop func...

資料結構 map的學習

main.cpp map使用 created by 劉鑫偉 on 14 7 25.include include includeusing namespace std int main 清空map中的資料可以用clear 函式,判定map中是否有資料可以用empty 函式,它返回true則說明是空m...