AngularJS ng-repeatを使用して不確定なJSONオブジェクトからHTMLテーブルを作成する際に問題が発生しました。AngularJS ng-repeat dictionary with array value
{
"My First Key" : [0, 1, 2 ..., n],
"My Second Key" : ["Val0", "Val1", ..., "Valn"],
...
"My Nth Key" : [0, 1, 2 ..., n]
}
そして形式の表を作成することができる:私が達成したいことは、一般的なフォーマットでJSONオブジェクトに供給することである
My First Key | My Second Key | ... | My Nth Key |
0 | "Val0" | ... | 0 |
1 | "Val1" | ... | 1 |
... | ... | ... | ... |
n | "Valn" | ... | n |
辞書内のすべての値はの配列です等しい長さ。キー(IE:My First Key、My Second Keyの実際の値)も不明です。配列の内容は、文字列または数値のいずれかです。各配列内にデータ型が混在することはありません。また、式が評価されるときに各キーに対応する文字列が実際にはわからないことに注意することも重要です。
成功テーブルのヘッダを構築することができ(MyArrayという、いくつかのコントローラで上記のデータ構造である)「MyArrayというに(キー、値)が」NG-リピート=使用:
<table ng-controller="myController">
<tr>
<th ng-repeat="(key, value) in myArray">{{key}}</th>
</tr>
<tr ng-repeat="???">
<td>{{data}}</td>
</tr>
</table>
が可能これは私の与えられたデータ構造と限界はありますか?もしそうなら、ng-repeatで値の中の配列の値にアクセスするにはどうしたらいいですか? 私は、いくつかの単一列のテーブルを並べて表示することで、所望の結果のjankyバージョンを作成することができました(this JSFiddle参照)。しかし、私はよりエレガントなソリューションを探しています(私のjankyバージョンも、1行に収まるように列が多すぎるとすぐに分かりにくくなります)。
これが唯一の – Jay
@Jayは理解していなかった '私の最初のキー' でいただきましになるだろう。なぜ、これは「私の最初の鍵」で何が得られるのでしょうか? –
残念ながら私はキーの実際の名前がどちらかになるかどうかわからないので、この解決策は私のユースケースでは機能しません。私は元の質問でそれを明らかにすべきだった、申し訳ありません。名前を自動的に取得するために 'myArray [Object.keys(myArray)[0]]'を使用すると動作しないようです。 –