jquery创建二维数组
Posted
技术标签:
【中文标题】jquery创建二维数组【英文标题】:jquery creating two dimensional array 【发布时间】:2011-10-19 11:19:57 【问题描述】:编辑:看起来我对我想要完成的事情有点困惑。对于那些花时间解释这一点的人,谢谢。
我正在尝试在 Jquery/javascript 中创建一个二维数组。我已经进行了大量的搜索、测试和更多的搜索,但我无法找到对我来说真正有意义的解决方案。 (这已经是非常漫长的一周了......)
以下是所需的数组格式。
"product":["attribute":"value","attribute":"value"]
【问题讨论】:
有什么问题吗?如果您有所需的格式,您在问什么?描述一下你想要的怎么样,这样我们就不需要使用心灵感应了。 你想要的都是不可能的。您对象的属性名称是唯一的。后一个“属性”将覆盖所有其他属性。 对我来说这看起来不像一个二维数组。我看到一个具有嵌套值/值对的对象(这是不可能的)... 抱歉,我的问题解释得不好。让我编辑。 【参考方案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)
【讨论】:
以上是关于jquery创建二维数组的主要内容,如果未能解决你的问题,请参考以下文章