如何将此Object中的每个密钥对作为新对象添加到数组中?

Leo*_*ban 0 javascript arrays object

http://codepen.io/leongaban/pen/xwwdXr?editors=101

我有一个返回Object的API,如下所示:

{ unsure: 5, products: 25, trend: 124 }

我需要做的是获取这些键/值对并将它们添加到数组中,以便它们如下所示:

catArray = [
    { unsure: 5 },
    { products: 5 },
    { trend: 5 },
]
Run Code Online (Sandbox Code Playgroud)

更好的是:

catArray = [
    {
        name: unsure,
        count: 5
    },
    {
        name: products,
        count: 15
    },
    {
        name: trend,
        count: 50
    }
]
Run Code Online (Sandbox Code Playgroud)

当前的代码集代码:

var categories = { unsure: 5, products: 25, trend: 124 }
var catArray   = [];

for (var i in categories) {
  console.log(i + ":" + categories[i]);
  catArray[i] = categories[i];
}

// vm.categories = Object.keys(data.data.categories);
console.log('catArray =',catArray);
Run Code Online (Sandbox Code Playgroud)

目前我正在回到一些长度为奇怪的数组0,我的目标是一个包含对象的数组,然后我可以ng-repeat在我的Angular应用程序中迭代并构建一个列表.

在此输入图像描述

tym*_*eJV 5

非常接近,你可以这样做:

var data = { unsure: 5, products: 25, trend: 124 }
var newData = [];

for (var key in data) {
    newData.push({
        name: key,
        count: data[key]
    });
}
Run Code Online (Sandbox Code Playgroud)

或者,一种不同的方法

var newData = Object.keys(data).map(function(key) {
    return {
        name: key,
        count: data[key]
    }
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/gnrchtvj/