以下の方法で連想配列の初期化を行っておりますが、
初期化後に配列を画面表示すると、[object Object], [object Object]となります。
<html>
<head><title></title></head>
<body>
<script type ="text/javascript">
var list = [{id:"3", name:"aaa"},{id:"2", name:"bbb"}];
alert(list);
</script>
</body>
</html>
画面表示した際、["3","aaa"],["2","bbb"]となることを期待しております。
原因と対処方法について教えてください。
No.1
- 回答日時:
原因としては、JavaScript では連想配列をオブジェクトで代用しているので、
間違って大規模なオブジェクト window 等を表示しても大丈夫なように、
標準ではオブジェクトの中身を表示させない為です。
対処方法としては、以下の二点を提案します。
// 簡単な方法
alert(JSON.stringify(list)); // [{"id":"3","name":"aaa"},{"id":"2","name":"bbb"}]
// 真面目にやる方法
var converter = function(x){ var a=[]; for(var i in x) a.push('"'+x[i]+'"'); return '['+a.join(',')+']' };
alert(list.map(converter)); // ["3","aaa"],["2","bbb"]
No.2ベストアンサー
- 回答日時:
サンプルでは、「配列」の中に「連想配列」を設定している事になります。
連想配列の「キー:値」はオブジェクトなので、[object Object], [object Object]は当然の結果です。
求められている結果に近いものを表示するサンプルを作成してみました。
一般的に連想配列をfor文で使う場合、以下のように「for(キー in 連想配列)」といった使い方になります。
参考にしてみてください。
<script type ="text/javascript">
var list = [{id:"3", name:"aaa"},{id:"2", name:"bbb"}];
var ret = "";
for(num=0; num < list.length; num++){
ret += "[";
for(key in list[num]){
ret += list[num][key] + ",";
}
ret += "]";
}
alert(ret);
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryのload()を使用して外部...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
Javaで避けるゲームを作ってい...
-
【JavaScript】数当てゲームを...
-
C#で、ContextMenuStripに動的...
-
javaScript textareaの一行あた...
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
javascriptにお詳しい方に質問...
-
商品コードを入力で、商品名、...
-
JavaScriptで決まった「時刻」...
-
ホームページの最終更新日を他...
-
C# 演算 奇数と偶数 表現の仕方
-
特定のclassを表示、非表示にする
-
なぜmatchメソッドがエラーにな...
-
javascriptでカウントダウンタ...
-
ASP.NET MVCでObjectをjsに渡す
-
idを使わずにonclickで自身の要...
-
Linux バイナリ実行できない "...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報