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에 따라 라이센스가 부여됩니다.