jquery创建二维数组

Ste*_* S. 7 javascript arrays jquery multidimensional-array

编辑:看来我对我想要完成的事情感到有些困惑.对于那些花时间解释这一点的人,谢谢.

我正在尝试在Jquery/Javascript中创建一个二维数组.我已经做了大量的搜索,测试和搜索,但我找不到对我来说真正有意义的解决方案.(这已经很长一周......)

下面是所需的数组格式.

{"product":[{"attribute":"value","attribute":"value"}]}
Run Code Online (Sandbox Code Playgroud)

Mrc*_*ief 22

那不是2D数组而是对象.另外,product数组只包含一个对象.我想你需要这样的东西

var obj = {};
obj.product = [];
for(var i=0; i < someObj.length; i++) {
   obj.product.push[{"attribute": someObj[i]}]
}
Run Code Online (Sandbox Code Playgroud)

这将在product属性中生成一个数组:

{"product":[{"attribute":"value"}, {"attribute":"value"}]}
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 14

您无法在Javascript中创建二维数组,数组只能有一个维度.使用锯齿状阵列,即阵列阵列,而不是二维阵列.例:

var a = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];
Run Code Online (Sandbox Code Playgroud)

您显示的所需格式既不是二维数组也不是锯齿状数组,而是包含属性的对象,该属性是对象数组.但是,数组中的对象必须具有相同名称的属性,因此我假设您将其视为数组中的两个对象:

var o = {
  product: [
    { attribute: "value" },
    { attribute: "value" }
  ]
};
Run Code Online (Sandbox Code Playgroud)

您可以使用上面的文字对象创建这样的对象,也可以通过以后添加属性和数组项来创建它:

var o = {};
o.product = [];
o.product.push({ attribute: "value" });
o.product.push({ attribute: "value" });
Run Code Online (Sandbox Code Playgroud)