Formatera text med tabbar eller mellanslag i console.log - javascript/typescript
Hur kan nedanstående console.log-utdata formateras? Namnkolumnen kan ha olika längd så kolumnerna är inte korrekt justerade. Exempel:-
Svar #1
använd \t för verklig tab i utdata.
console.log('name1\t14')
console.log('name2nam2\t12')
console.log('name3Nam3Nam\t13')
console.log('name1\t123421')
console.log('name1\t912421')
men förmodligen är det du vill ha console.table MDN
Svar #2
Om du inte har tillgång till console.table() (vilket är otillgängligt i vissa sammanhang, som Google App Scripts-loggning), kan du använda string.padEnd() för att göra alla dina strängar lika långa. Den tar två argument: den önskade längden och tecknet att fylla strängen med. Detta ger dig ett tabell-liknande format.
Exempel där vi vill att den första kolumnen ska vara 28 tecken bred:
var keys = someObject.getKeys();
var log = "";
keys.forEach(key => {
log += `${key.padEnd(28, ' ')}: \t${props.getProperty(key)}\n`;
});
console.log(log);
Skriv ut något som detta:
previousRevisedWordCount : 47690.0
previousPercent : 0.4531134139945382
previousUnrevisedFileCount : 59.0
previousUnrevisedWordCount : 62924.0
previousDay : Fri Feb 16 18:18:38 GMT-06:00 2024
previousRevisedFileCount : 36.0
Om du itererar genom en massa strängar och inte vet längden, kan du först hitta den längsta, och sedan kalla string.padEnd(n + 1, " "), där n är längden på den längsta strängen.
