如何将对象重组为对象数组



我有这个对象

var data = {
         _id : 131233442543,
         SocialMedia_0__Name_: "facebook",
         SocialMedia_0__URL_: "http://facebook.com/test",
         SocialMedia_1__Name_: "twitter",
         SocialMedia_1__URL_: "http://twitter.com/test",
         SocialMedia_1398083781749__Name_: "linkedin",
         SocialMedia_1398083781749__URL_: "http://linkedin.com/test"
        };

我需要将对象重组为这样:

justSites = [
{
name : "facebook",
url : "http://facebook.com/test"
},
{
name : "twitter",
url : "http://twitter.com/test"
},
{
name : "linkedin",
url : "http://linkedin.com/test"
}
];

这应该做到:

var justSites = [], m;
for (var p in data)
    if (m = p.match(/SocialMedia_(d+)__Name_/))
        justSites.push({
            name: data[p],
            url: data["SocialMedia_"+m[1]+"__URL_"]
        });

最新更新