Javascript 向二维数组添加JSON元素

Javascript 向二维数组添加JSON元素,javascript,jquery,Javascript,Jquery,你好 我有一个JSON对象,我想将它推送到另一个数组中,并将这两个值更改为另一个数组 var line4 = [ {"viewed":2, "sumDate":1377129600000, "redeemed" : 8}, {"viewed":12, "sumDate":1377129600000, "redeemed" : 3}, {"viewed":18, "sumDate":1377129600000, "redeemed" : 13} ]; 我希望新的line4采用这种格式 ne

你好

我有一个JSON对象,我想将它推送到另一个数组中,并将这两个值更改为另一个数组

var line4 = [
{"viewed":2, "sumDate":1377129600000, "redeemed" : 8}, 
{"viewed":12, "sumDate":1377129600000, "redeemed" : 3}, 
{"viewed":18, "sumDate":1377129600000, "redeemed" : 13} 
];
我希望新的line4采用这种格式

newline4 = [["2008-06-30", 2], ["2008-7-14", 12, ["2008-7-28", 18]]
我似乎无法将其正确格式化为我的数组

$(line4).each(function (index, value) {
    console.log("value: " + value);
    $(value).map(function(){         
        d = new Date(parseInt(this.sumDate));
        this.sumDate = (1 + d.getMonth()) + '/'+ d.getDate() + '/'  + d.getFullYear().toString().slice(-2);
        console.log("sumdate : " +this.sumDate);
        console.log("viewed : " +this.viewed);

        newline4.push([this.sumDate, this.viewed]);    
    });

});
但是我越来越

newline4 : 8/21/13,2,8/21/13,12,8/21/13,18

你用错了每个和地图的形式。jQuery(选择器/元素/jQuery)。每一个都用于在DOM元素上迭代。您要使用:

$.each(line4, function(index, value){
另外,$.map仅适用于数组。然而,看看你们想做什么,我认为你们根本不需要地图。您已经在使用.each()访问每个对象-您无法映射对象,当然也无法访问映射中对象的属性。您应该能够删除贴图部分

var newline4 = [];
$.each(line4, function(index, value){
    // use "var" so as not to make this a global variable
    var d = new Date(parseInt(value.sumDate));
    var sumDate = (1 + d.getMonth()) + '/'+ d.getDate() + '/'  + d.getFullYear().toString().slice(-2);
    newline4.push([sumDate, value.viewed]);
});

$(第4行)
应该是什么?假设您使用的是jQuery,
$()
的参数应该是DOM元素或选择器,我从来没有听说过使用数组作为参数。我想将我的JSON对象迭代到一个新的对象数组[[],[]中,它应该是
line4。每个(…)
,而不是
$(line4)。每个()。但是显然jQuery是允许的,而且
$(第4行)
第4行
相同。谢谢你的回答,这个问题已经在这个链接上得到了回答。如果你想
-
在日期的各个部分之间,为什么要把
/
放在
this.sumDate=
行中呢?谢谢tandrewnichols,但是我已经用下面的代码
test