hlc*_*lcs 4 javascript jquery text-formatting
我有这样的对象:
{
Name: "John"
Location: "Unknown"
Type: "Unknown"
Status: "Unknown"
Phone_number: "Unknown"
}
Run Code Online (Sandbox Code Playgroud)
需要像这样格式化(使用制表符或空格):
Name: John // three tabs
Location: Unknown // two tabs
Type: Unknown // three tabs
Status: Unknown // three tabs
Phone_number: Unknown // one tab
Run Code Online (Sandbox Code Playgroud)
max*_*mus 10
该String.prototype.padEnd(targetLength, padString)方法将完成这项工作,它已记录在此处。如果省略,该padString参数将设置为单空格字符串。
例子:
console.log(` ${'Player'.padEnd(19)} ` +
`${'MATCH'.padEnd(8) } ` +
`${'SCORE'.padEnd(8) } `
);
for (const player of this.players) {
console.log(` - ${player.name.padEnd(20)} ` +
`${player.matches.length.toString().padEnd(8) } ` +
`${player.score.toString().padEnd(8) } `
);
}
Run Code Online (Sandbox Code Playgroud)
结果:
Player MATCH SCORE
- Bradly 5 15
- Sam 4 9
- Dew 3 5
Run Code Online (Sandbox Code Playgroud)
好.在这里找到:
/**
* 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;
};
Run Code Online (Sandbox Code Playgroud)
这不适用于制表符,但可以使用空格来完全按照我的描述进行描述.
对于我的示例代码将是:
$.each(myObj, function(myKey, myVal) {
myOut += myKey.padding(20) + " = " + myVal + "\r\n";
});
Run Code Online (Sandbox Code Playgroud)
输出将是:
Name = John
Location = Unknown
Type = Unknown
Status = Unknown
Phone_number = Unknown
Run Code Online (Sandbox Code Playgroud)
编辑您可以使用“\t”添加更多选项卡。每个 '\t' 表示一个选项卡,因此在 console.log 中您可以使用更多的 console.log(prop + ": \t\t\t " + obj[prop]);
将您的对象传递给此函数(这适用于任何对象):
function printObject(obj)
for(var prop in obj){
if (obj.hasOwnProperty(prop)) {
console.log(prop + ":\t" + obj[prop]);
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以通过使用获得非常相似的输出(但带引号)
JSON.stringify(obj, null, 2);
Run Code Online (Sandbox Code Playgroud)
这将基本上以 jason 格式打印您的对象,并将使用最后一个参数(2)作为分隔符空格的数量。
| 归档时间: |
|
| 查看次数: |
10283 次 |
| 最近记录: |