打字稿-将地图转换为逗号分隔的字符串

时间:2019-11-13 07:19:03

标签: javascript typescript

我有一张地图,正在使用以下格式转换特定的字符串格式:

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

谢谢

3 个答案:

答案 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"