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(); 
     }); 

非常感謝你們所有的人。