質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

解決済

【Javascript】2次元配列からピボットテーブル用に整形した配列を生成するロジック

削除済ユーザー
削除済ユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

2回答

0評価

0クリップ

2933閲覧

投稿2015/05/05 04:40

編集2022/01/12 10:58

目的

以下の様なCSVから2次元配列を作成後(サンプル1)、結果テーブルに組み込むために整形した2次元配列を生成したい。

CSVサンプル

lang

Date,Category,A,B,C 2015/02,AAA,a,b,c 2015/02,BBB,d,e,f 2015/03,CCC,g,h,i 2015/03,BBB,j,k,l 2015/03,AAA,m,n,o

サンプル1

lang

var csvArray = \[ //サンプルのため値へのクォートは省略 \[2015/02,AAA,a,b,c\], \[2015/02,BBB,d,e,f\], \[2015/03,CCC,g,h,i\], \[2015/03,AAA,j,k,l\] \];

結果テーブル

lang

Table AAA Table BBB Table CCC | |2015/02|2015/03| | |2015/02|2015/03| | |2015/02|2015/03| |:--|-------|------:| |:--|-------|------:| |:--|-------|------:| | A | a | j | | A | d | | | A | | g | | B | b | k | | B | e | | | B | | h | | C | c | l | | C | f | | | C | | i |

生成したい配列サンプル

lang

var table = \[ \[AAA,a,j,b,k,c,l\], \[BBB,d,'',e,'',f,''\], \[CCC,'',g,'',h,'',i\] \]; //オブジェクトでも構わない var table = { 'AAA':\[a,j,b,k,c,l\], 'BBB':\[d,'',e,'',f,''\], 'CCC':\['',g,'',h,'',i\] };

前提条件

1. Javascript(jQuery等不可)使用
2. 配列の1次元目は行方向、2次元目は列方向とし、2次元目の長さはすべて同じ
3. データがないセルは空白('')とする
4. Categoryごとにテーブル(配列)をまとめる
5. 行列変換用の関数はmatrix(array)として定義されているものとする

ピボットテーブル生成という表現が正しいかどうかは別としまして、
csvArrayから各テーブルにセットするための値をまとめたtableを生成するまでのロジックについて、
皆様のお知恵をお借りしたいと思っております。
サンプル通りの配列生成にこだわっているわけではございませんので、よろしくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。