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

非常感谢你们所有的人。