编辑:看来我对我想要完成的事情有点困惑。对于那些花时间解释这一点的人,谢谢你。
我试图在Jquery/Javascript创建一个二维数组。我已经做了大量的搜索,测试和更多的搜索,但我无法找到一个真正对我有意义的解决方案。(这一周已经很漫长了....)
下面是期望的数组格式。
{"product":[{"attribute":"value","attribute":"value"}]}
这不是一个二维数组,而是一个对象。另外,您的product数组只包含一个对象。我想你需要这样的东西:
var obj = {};
obj.product = [];
for(var i=0; i < someObj.length; i++) {
obj.product.push[{"attribute": someObj[i]}]
}
这将在product
属性内生成一个数组:
{"product":[{"attribute":"value"}, {"attribute":"value"}]}
你不能在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" });
试试这个:
{"product":[ [{"attribute":"value"},{"attribute":"value"}]]}
$(".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++
});
这就是我的解决方案。
var optionArr = []
optionArr = {"product": [{"id":1, "name":"abc"}, {"name":"value"}]}
var data = optionArr['product'][0]['name']
alert(data)