【问题标题】:How to put data into multi dimensional array in js inside the loop如何在循环内将数据放入js中的多维数组中
【发布时间】:2017-02-02 12:48:36
【问题描述】:

我们如何在循环中将数据放入多维数组或 json 中。 我知道可以一次存储多维数据,但我希望它在循环中,正如我在代码中描述的那样。

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';这样的php中是可能的

【问题讨论】:

  • ?.......

标签: javascript php json multidimensional-array javascript-objects


【解决方案1】:

sub_cat_checked_val[sub_cat_id] 需要定义为数组,所以添加以下行:

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

如果值不存在,则将其定义为数组。

【讨论】:

  • 请记住将代码格式化为代码(使用反引号或 4 空格/制表符缩进)
【解决方案2】:

试试这个 sn-p:

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

【讨论】:

  • 我希望变量的值应该像 a=2 这样的键,那么当使用 k.a='Value' 时它应该返回 {k:{2:Value}}
  • 如果是数字的话就不行,但是你可以随时添加下划线作为前缀,例如:k._2._14._21 = 35;
【解决方案3】:

在你们所有人的帮助下进行了一些修改,我能够做到这一点。

这是我所做的:

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

非常感谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2020-05-10
    相关资源
    最近更新 更多