
List Beautify

Let's assume, you are given an array of arrays of positive/negative integer/float numbers, for example - [[1, 2, 10, 150], [10, 2, 1000, 2], [1, 120, 1, 1000]]. It's always correctly filled: has at least one non-empty inner array.
When you print it as a single object, you receive
![]() |
[[1, 2, 10, 150], [10, 2, 1000, 2], [1, 120, 1, 1000]] |
![]() |
[1, 2, 10, 150] [10, 2, 1000, 2] [1, 120, 1, 1000] |
Your function should return something from both views and improved: a single string (multiline if more than one inner array), where numbers in columns should be right-aligned. There must be exactly one whitespace between the longest number in a column incl. minus (if present) and the previous comma in a row. All rows of the same length, wrapped together in the array brackets.
![]() |
[[ 1, 2, 10, 150], [10, 2, 1000, 2], [ 1, 120, 1, 1000]] |
Isn't it beautiful now 😍?
Input: Array of arrays of numbers.
Output: String.
Examples:
assert.strictEqual( listBeautify([ [1, 2, 10, 150], [10, 2, 1000, 2], [1, 120, 1, 1000], ]), "[[ 1, 2, 10, 150],\n [10, 2, 1000, 2],\n [ 1, 120, 1, 1000]]" ); assert.strictEqual( listBeautify([[1, 10, 100, -1000]]), "[[1, 10, 100, -1000]]" ); assert.strictEqual( listBeautify([ [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], ]), "[[1, 1, 1, 1, 1],\n [1, 1, 1, 1, 1],\n [1, 1, 1, 1, 1]]" ); assert.strictEqual( listBeautify([ [1, 1, -1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], ]), "[[1, 1, -1, 1, 1],\n [1, 1, 1, 1, 1],\n [1, 1, 1, 1, 1]]" );