北極にChatGPTがやって来ました。エルフの Sam Elfman は、プレゼントと子どもたちを管理するアプリケーションを開発しています。
見た目を良くするために、彼は オブジェクトの配列 を受け取って、それを テキストテーブル に変換する drawTable 関数を作りたいと考えています。
描画されるテーブルは次の条件を満たす必要があります。
A, B, C…)の文字を持つこと。関数は第2引数として sortBy を受け取り、これは 行を並べ替える 際に使うフィールド名を表します。並び順は、値が文字列なら アルファベット昇順、数値なら 数値の昇順 になります。
どのようにテーブルを描画すべきか、以下の例を見てください。
drawTable(
[
{ name: 'Charlie', city: 'New York' },
{ name: 'Alice', city: 'London' },
{ name: 'Bob', city: 'Paris' }
],
'name'
)
// +---------+----------+
// | A | B |
// +---------+----------+
// | Alice | London |
// | Bob | Paris |
// | Charlie | New York |
// +---------+----------+
drawTable(
[
{ gift: 'Book', quantity: 5 },
{ gift: 'Music CD', quantity: 1 },
{ gift: 'Doll', quantity: 10 }
],
'quantity'
)
// +----------+----+
// | A | B |
// +----------+----+
// | Music CD | 1 |
// | Book | 5 |
// | Doll | 10 |
// +----------+----+

