如何从json对象构建键值的JavaScript数组

Vas*_*aur 6 javascript arrays jquery json object

基本上我有以下JSON发起的对象:

({
    "id" : 3,
    "clientName" : "Avia",
    "monthlyactiveusers" : 2083,
    "dailynewlikes" : 0,
    "totallikes" : 4258,
    "usersgraph" : {
        "sTotalLikes" : [{
            "likes" : 79,
            "date" : "1/1/2010"
        },
        {
            "likes" : 116,
            "date" : "1/1/2010"
        }],
        "sDailyActiveUsers" : [{
            "likes" : 79,
            "date" : "1/1/2010"
        },
        {
            "likes" : 116,
            "date" : "1/1/2010"
        }]
    }
});
Run Code Online (Sandbox Code Playgroud)

我需要以下结果:

sTotalLikes = [['1/1/2010', 79],['1/1/2010', 79],['1/11/2010', 79]];
sDailyActiveUsers = [['1/1/2010', 10],['1/5/2010', 300],['1/11/2010', 220]];
Run Code Online (Sandbox Code Playgroud)

我知道您可以使用以下代码遍历对象来构建数组,但我无法弄清楚如何构建JavaScript数组本身.在此先感谢您的帮助.

var sTotalLikes = new Array();

 for (var i = 0; i < usersgraph.sTotalLikes.length; i++) {
    //how do I build the arry ?
    sTotalLikes[i]
  }
Run Code Online (Sandbox Code Playgroud)

Zai*_*ikh 2

您必须迭代sTotalLikes和中的每个项目sDailyActiveUsers

您还可以在此处查看现场演示,了解完整且可运行的程序以及评论。:)

// declare arrays for storing total likes and active users
var totalLikes = [];
var activeUsers = [];



// first iterate for total likes
for (var i = 0; i < data.usersgraph.sTotalLikes.length; i ++)
{
    var like = data.usersgraph.sTotalLikes[i];

    // create a new array of date and likes
    // and push into total likes
    totalLikes.push([like.date, like.likes]);
}



// then iterate for active users
for (var i = 0; i < data.usersgraph.sDailyActiveUsers.length; i ++)
{
    var user = data.usersgraph.sDailyActiveUsers[i];

    // create a new array of date and likes
    // and push into active users
    activeUsers.push([user.date, user.likes]);
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!