teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

二次元配列

2017/04/10 14:50

投稿

think49
think49

スコア18194

answer CHANGED
File without changes

1

二次元配列

2017/04/10 14:50

投稿

think49
think49

スコア18194

answer CHANGED
@@ -16,4 +16,18 @@
16
16
  改善するにはオブジェクト初期化子(`{}`)か `new Map` を使用して下さい。
17
17
  `append` されない問題は maisumakun さんが指摘された通り、`.val()` を使えば解消出来ます。
18
18
 
19
+ ### 二次元配列
20
+
21
+ 先述のオブジェクト初期化子も `new Map` も使用していませんが、二次元配列でも同様の処理が可能です。
22
+
23
+ ```JavaScript
24
+ var output = [['radioButton', radioButton.text()], ['selected', jQuery('#selected>option:selected').text()], ['string', selectedText]];
25
+ jQuery('#textarea')[0].value = output.map(function (entry) { return entry.join(': '); }).join('\n');
26
+ ```
27
+
28
+ ただ、key名を手打ちしているのがエレガントさに欠けます。
29
+ スマートに書くなら既存のform関連要素からkey/valueを機械的に読み取る機構が必要だと思います。
30
+ yambejp さんが提案される `FormData` はその一つですね。
31
+ 勿論、自前で組んでもいいと思います。
32
+
19
33
  Re: sbc さん