1

ループ内でデータを多次元配列またはjsonに配置するにはどうすればよいですか? 多次元データを一度に保存することは可能ですが、コードに記述されているように、ループ内に配置します。ループ内のjsでデータを多次元配列に格納する方法

var sub_cat_checked_val = [];  
sub_cat_checked.each(function (index) { 
    var sub_cat_id = jQuery(this).attr('name').replace('subcategory_id_', '').replace('[]', ''); 
    sub_cat_checked_val['key_one']['key_two']='value'; 
    sub_cat_checked_val[sub_cat_id][index] = index:jQuery(this).val(); 
}); 

$var_name['key1']['key2']['keyn']='value';

+0

?.............. – RiggsFolly

答えて

1

sub_cat_checked_valは[sub_cat_id]配列として定義される必要があるので、行を追加します。

if (!sub_cat_checked_val[sub_cat_id]) { 
    sub_cat_checked_val[sub_cat_id] = []; 
} 

値が存在しない場合は配列として定義します。

+0

コードをコードとしてフォーマットすることを忘れないでください(バッククォートまたは4スペース/タブインデントのいずれかを使用) – YakovL

1

ようなPHPで可能だとして、このスニペットを試してください:

<script> 
var k = {}; 
k.a = {}; 
k.a.b = {}; 
k.a.b.c = {}; 
k.a.b.c.d = 5; 
console.log(k); 
</script> 
+0

変数の値をa = 2のようにしたい場合、ka = 'Value'を使用するときは{k:{2 :Value}} –

+0

数値の場合は動作しませんが、接頭辞としてアンダースコアを追加することができます。例:k._2._14._21 = 35; –

0

私は皆さんにいくつかの修正を手伝ってもらえました。ここで

は私がやったことです:たくさんのあなたのすべてに

 sub_cat_checked.each(function (index) { 
      console.log(index_val); 
      var sub_cat_id = jQuery(this).attr('name').replace('subcategory_id_', '').replace('[]', ''); 
      console.log(sub_cat_id); 
      if (sub_cat_checked_val[sub_cat_id] == undefined) { 
       sub_cat_checked_val[sub_cat_id] = []; 
      } 

      sub_cat_checked_val[sub_cat_id][index] = jQuery(this).val(); 
     }); 

感謝。

関連する問題