【问题标题】:jquery creating two dimensional arrayjquery创建二维数组
【发布时间】:2011-10-19 11:19:57
【问题描述】:

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

我正在尝试在 Jquery/Javascript 中创建一个二维数组。我已经进行了大量的搜索、测试和更多的搜索,但我无法找到对我来说真正有意义的解决方案。 (这已经是非常漫长的一周了......)

以下是所需的数组格式。

{"product":[{"attribute":"value","attribute":"value"}]}

【问题讨论】:

  • 有什么问题吗?如果您有所需的格式,您在问什么?描述一下你想要的怎么样,这样我们就不需要使用心灵感应了。
  • 你想要的都是不可能的。您对象的属性名称是唯一的。后一个“属性”将覆盖所有其他属性。
  • 对我来说这看起来不像一个二维数组。我看到一个具有嵌套值/值对的对象(这是不可能的)...
  • 抱歉,我的问题解释得不好。让我编辑。

标签: javascript jquery arrays multidimensional-array


【解决方案1】:

这不是一个二维数组,而是一个对象。此外,您的产品数组仅包含一个对象。我认为你需要这样的东西:

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

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

{"product":[{"attribute":"value"}, {"attribute":"value"}]}

【讨论】:

  • 我们或许应该将此问题重命名为能准确反映其主题的名称(因为它与二维数组无关),但我想不出这个问题的好名称。
【解决方案2】:

您不能在 Javascript 中创建二维数组,数组只能具有一维。使用锯齿状数组,即数组的数组,而不是二维数组。

例子:

var a = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

您显示的所需格式既不是二维数组也不是锯齿状数组,而是包含属性的对象,该属性是对象数组。但是,数组中的对象有两个同名的属性,所以我假设你的意思是数组中有两个对象:

var o = {
  product: [
    { attribute: "value" },
    { attribute: "value" }
  ]
};

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

var o = {};
o.product = [];
o.product.push({ attribute: "value" });
o.product.push({ attribute: "value" });

【讨论】:

  • o.product.push({})
【解决方案3】:
$(".adddiv").each(function(){

    tasks = [];
    $(".subtasktask"+len).each(function() {
        var raw = $(".subtasktask"+len).children().size();
        for(var l =0;l

        datas.push(milestone);
        alert("now show json milestone array : ");
        alert(milestone.month + ":" + milestone.title +":" + milestone.task. );
        len++
    });

【讨论】:

    【解决方案4】:

    试试这个:

    {"product":[ [{"attribute":"value"},{"attribute":"value"}]]} 
    

    【讨论】:

      【解决方案5】:

      这是我的解决方案。

      var optionArr = []
      optionArr = {"product": [{"id":1, "name":"abc"}, {"name":"value"}]} 
      var data = optionArr['product'][0]['name']
      alert(data)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        • 1970-01-01
        • 2021-01-22
        • 2020-01-26
        • 2013-02-22
        • 2011-08-14
        相关资源
        最近更新 更多