我有一张地图,正在使用以下格式转换特定的字符串格式:
let content = "";
let myMap = new Map().set('a', 1).set('b', 2).set('c', 3);
myMap.forEach((value: string, key: number) => {
content += `${key}: ${value}, `;
});
但是这将在最后留下一个逗号。
还有其他方法吗?例如能够使用join
?
谢谢
答案 0 :(得分:1)
这有效:
Object.keys(myMap).map(data => [data, myMap[data]]).map(([k, v]) => `${k}:${v}`).join(', ');
答案 1 :(得分:0)
您可以将地图转换为数组,然后在快速转换后使用join
:
let myMap = new Map().set('a', 1).set('b', 2).set('c', 3);
let str = [...myMap].map(([k, v]) => `${k}: ${v}`).join(", ");
console.log(str);
答案 2 :(得分:0)
是的,您可以使用join
let content = []; // array
let myMap = new Map().set('a', 1).set('b', 2).set('c', 3);
myMap.forEach((value, key) => {
content.push(`${key}: ${value}`); // push all elts into the array
});
content
现在是一个数组["a: 1", "b: 2", "c: 3"]
使用join将其转换为逗号分隔的字符串
content = content.join();
所需的输出"a: 1,b: 2,c: 3"