ES6 에서 맵 과 기타 데이터 구조의 상호 전환
최근 ES6 의 기초 지식 을 공부 하면 서 맵 과 다른 데이터 구조 가 서로 바 뀌 는 표기 법 을 정리 했다.
맵 을 배열 로 바 꾸 는 방법
1 2 3
let myMap =
new
Map([[
true
,
7
], [{foo:
3
}, [
'abc'
]]]);
[...myMap]
console.log([...myMap]);
배열 을 맵 으로 바 꾸 는 방법
1
new
Map([[
true
,
7
], [{foo:
3
}, [
'abc'
]]])
맵 을 대상 으로 하 는 방법
1 2 3 4 5 6 7 8 9 10
function strMapToObj(strMap) {
let obj = Object.create(
null
);
for
(let [k,v] of strMap) {
obj[k] = v;
}
return
obj;
}
let myMap =
new
Map().set(
'yes'
,
true
).set(
'no'
,
false
);
console.log(strMapToObj(myMap));
// { yes: true, no: false }
대상 을 맵 으로 바 꾸 는 방법
1 2 3 4 5 6 7 8 9 10
function objToStrMap(obj) {
let strMap =
new
Map();
for
(let k of Object.keys(obj)) {
strMap.set(k, obj[k]);
}
return
strMap;
}
var a = {yes:
true
, no:
false
}
console.log(objToStrMap(a))
// [ [ 'yes', true ], [ 'no', false ] ]
맵 을 제 이 슨 으로 바 꾸 는 방법.
1 2 3 4 5 6 7 8 9 10 11 12 13
function strMapToObj(strMap) {
let obj = Object.create(
null
);
for
(let [k,v] of strMap) {
obj[k] = v;
}
return
obj;
}
function strMapToJson(strMap1) {
return
JSON.stringify(strMapToObj(strMap1));
}
let myMap2 =
new
Map().set(
'yes'
,
true
).set(
'no'
,
false
);
console.log(strMapToJson(myMap2));
// '{"yes":true,"no":false}'
맵 이 JSon 배열 로 바 뀌 었 습 니 다.
1 2 3 4 5 6 7
function mapToArrayJson(map) {
return
JSON.stringify([...map]);
}
let myMap =
new
Map().set(
true
,
7
).set({foo:
3
}, [
'abc'
]);
mapToArrayJson(myMap)
console.log(mapToArrayJson(myMap))
// '[[true,7],[{"foo":3},["abc"]]]'
json 대상 맵 으로 전환
1 2 3 4 5 6 7 8 9 10 11 12 13 14
function objToStrMap(obj) {
let strMap =
new
Map();
for
(let k of Object.keys(obj)) {
strMap.set(k, obj[k]);
}
return
strMap;
}
function jsonToStrMap(jsonStr) {
return
objToStrMap(JSON.parse(jsonStr));
}
jsonToStrMap(
'{"yes":true,"no":false}'
)
console.log(jsonToStrMap(
'{"yes":true,"no":false}'
))
// Map {'yes' => true, 'no' => false}
json 배열 이 맵 으로 바 뀌 었 습 니 다.
1 2 3 4 5 6 7
function jsonToMap(jsonStr) {
return
new
Map(JSON.parse(jsonStr));
}
jsonToMap(
'[[true,7],[{"foo":3},["abc"]]]'
)
console.log(jsonToMap(
'[[true,7],[{"foo":3},["abc"]]]'
))
// Map {true => 7, Object {foo: 3} => ['abc']}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.