Хорошо. Найдено here:
/**
* object.padding(number, string)
* Transform the string object to string of the actual width filling by the padding character (by default ' ')
* Negative value of width means left padding, and positive value means right one
*
* @param number Width of string
* @param string Padding chacracter (by default, ' ')
* @return string
* @access public
*/
String.prototype.padding = function(n, c)
{
var val = this.valueOf();
if (Math.abs(n) <= val.length) {
return val;
}
var m = Math.max((Math.abs(n) - this.length) || 0, 0);
var pad = Array(m + 1).join(String(c || ' ').charAt(0));
// var pad = String(c || ' ').charAt(0).repeat(Math.abs(n) - this.length);
return (n < 0) ? pad + val : val + pad;
// return (n < 0) ? val + pad : pad + val;
};
Это не работает с закладками, но работает с пробелами, как именно я описываю в вопросе.
Для моего примера кода будет:
$.each(myObj, function(myKey, myVal) {
myOut += myKey.padding(20) + " = " + myVal + "\r\n";
});
выход будет:
Name = John
Location = Unknown
Type = Unknown
Status = Unknown
Phone_number = Unknown
Первая функция добавляет только одну вкладку, если ключ будет иметь длинное слово или несколько слов, одна вкладка будет недостаточно , Даже в моей первой строке строки требуется две вкладки. – hlcs
@ancap Вы пытались добавить дополнительные вкладки, такие как ': \ t \ t' или даже': \ t \ t \ t'? – Teemu
Я отредактировал первый пост. Как вы можете видеть в первой строке - три вкладки, во втором - два, в третьем и четвертом - три, в пятом - одно. – hlcs