带有键的javascript数组,其中包含使用php的另一个对象数组

时间:2018-10-27 07:08:08

标签: javascript arrays

我正在从事一个电子商务项目。用户可以选择多种颜色,并且可以为每种颜色的尺寸输入不同的数量。我想将这些数据存储到一个数组中,然后使用ajax将其发送到服务器

数组应该看起来像这样

[ {
   'color' : [ {
        'INDIGO' : [
                     { 'S' : 15},
                     { 'M' : 15},
        ] },{
        'PURPLE' : [
                     { 'S' : 15},
                     { 'M' : 15},
        ]},

   ]}
]

但是我正在得到这种类型的数组。它插入的是我插入的最后一个数量,它替换了旧的数量,例如紫色,如果我在s上放15,在m上放15,则只用m

靛蓝:{L:15} 紫色:{M:15}

这是我的代码示例

当用户选择彩色收音机时,它将值推入彩色阵列

var key = 'INDIGO';
color[key] = {};

当用户增加数量时,它将插入颜色键的对象

var len = $('.radioCheckbox:checked');

for (var i = 0; i < len.length; i++) {
    var key = len[i].value;
    color[key] = {
        [$size] : val,
    };
}

1 个答案:

答案 0 :(得分:0)

当您将s的15和m的15放入时,您似乎没有为每种尺寸正确设置颜色。因此,请在按m或s时检查颜色设置是否正确。或者,不确定为什么需要复杂的数据结构。我认为使用

这样易于处理的数据结构是可以实现的
data = {
  'color': {
    'INDIGO': {
      'S': 15,
      'M': 15
    },
    'PURPLE': {
      'S': 15,
      'M': 15
    }
  }
}

您可以管理颜色,大小及其值,例如

data['color'][key][$size] = val