타이프 스크립트의지도 초기화 [중복]
Typescript에서 Map 아래에서 초기화하려고합니다. 인쇄하면 비어있는 것 같습니다.
let map: Map<string, object> = new Map<string, object> ([
[
"api/service/method",
{
uriPath: {}
}
],
[
"\"type\": \"html\"",
{
body: {}
}
]
]);
console.log(JSON.stringify(map));
// printing {}
// but not the initialized values
답변
1 MauriceNino
올바르게 초기화되었지만 인쇄하면 배열과 같은 모든 값이 인쇄되지 않습니다. 그러나 키에 액세스하여 확인할 수 있습니다.
let map = new Map([
[
"api/service/method",
{
uriPath: {}
}
],
[
"\"type\": \"html\"",
{
body: {}
}
]
]);
console.log(map);
console.log(map.get('api/service/method'));
console.log(map.get('"type": "html"'));
관련 항목 : 콘솔에 자바 스크립트 ES6 맵 객체를 표시하려면 어떻게해야합니까?
거기에서 언급했듯이지도를 펼치고 다음을 인쇄 할 수 있습니다.
let map = new Map([
[
"api/service/method",
{
uriPath: {}
}
],
[
"\"type\": \"html\"",
{
body: {}
}
]
]);
console.log([...map]);
JessevanAssen
그 이유 JSON.stringify
는 Map을 문자열 화하는 방법을 모르기 때문에 대신 기본 개체를 문자열 화하려고 시도하여 빈 개체가 생성됩니다.
console.log(JSON.stringify([...a.entries()]));
대신 시도
NiettheDarkAbsol
객체를 문자열 화하는 것은 속성을 문자열 화하는 것과 관련이 있지만 Map
데이터를 저장하기 위해 속성을 사용하지 않습니다. 따라서 순진하게 문자열 화하면 빈 객체를 얻습니다.
대신 먼저 배열로 변환하십시오.
console.log(JSON.stringify([...map]));
LionelFoxcroft
지도에서 JSON.stringify ()를 사용하면 항상 {}를 제공합니다. typescript에서 제대로하고 있다고 표시되면지도가 올바르게 초기화되었을 수 있습니다.