丸投げ「エンジニアもどき」はGitHubの夢を見るか?
原発の是非を選挙の争点にする前に認識しておくべき6つのこと

Ryan Dahl の面接試験:csv データのオブジェクト配列への変換

メルマガで連載中の「Node.js 入門」を書いていて、とても良い JavaScript の演習問題を思いついたので、久しぶりに「頭の柔軟体操シリーズ」の一環としてここで公開することにした。モダンな JavaScript の使い方の良い練習になると思うので、ぜひともチャレンジしていただきたい。

【問題】

https://ichart.finance.yahoo.com/table.csv?s=AAPL&a=11&b=1&c=2007&d=12&e=1&f=2012&g=m&ignore=.csv

上のURLにアクセスすると、株価データが CSV フォーマットで返って来ますが、これを JavaScript で扱いやすいオブジェクトの配列に変更するプログラムを書いてください。JavaScript は Node.js の最新バージョンに使われているものを前提としてください(←ヒント)。

ちなみに、オブジェクトの配列とは、

[ { Date: '2012-12-03',
Open: 593.65,
High: 594.59,
Low: 572.13,
Close: 575.85,
Volume: 26400300,
'Adj Close': 575.85 },
{ Date: '2012-11-01',
Open: 598.22,
High: 603,
Low: 505.75,
Close: 585.28,
Volume: 22655000,
'Adj Close': 585.28 },... ]

のような形です。

入力する CVS データは、最初の行がコラム名を示し、データの中では最初のコラムのみが文字列で、残りは浮動小数点の数値だ、という前提でプログラムを書いてください。 

余裕がある人は、Node.js の https モジュールを使って実際にデータを上のURLから取得する部分も含めて書いてみてください。

Comments

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)