Eu tenho o seguinte código:
let urls = new Map<string, any[]>();
urls.set("1", ["param=1", "param2=2", "params3=3"]);
urls.set("2", ["param4=4", "param5=5"]);
function getUrl(): string {
let _tmp = [];
urls.forEach((e) => {
_tmp.push(e.join("&"));
});
return _tmp.join("&");
}
getUrl();
Como resultado, preciso obter uma string completa: param=1¶m2=2¶ms3=3¶m4=4¶m5=5
Não gosto de variável temporária let _tmp = [];
, como melhorar isso?
Acho que isso deve funcionar para você;)
let urls = new Map();
urls.set("1", ["param=1", "param2=2", "params3=3"]);
urls.set("2", ["param4=4", "param5=5"]);
let result = Array.from(urls.values()).map(arr => arr.join('&')).join('&');
console.log(result);
Você também pode conseguir isso um pouco mais fácil usando .flat
, mas então você tem que adicionar es2019
à seção lib de tsconfig.json
, porque .falt
não está na especificação oficial. Mais sobre isso você pode ler aqui: Typescript flatMap, flat, flatten não existe no tipo qualquer []
Array.from(urls.values()).flat().join('&')
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras