ES6 에서 맵 과 기타 데이터 구조의 상호 전환

5036 단어

최근 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']}

좋은 웹페이지 즐겨찾기