Javascript将对象更改为自定义数组

Javascript将对象更改为自定义数组,javascript,Javascript,我要转换此对象: "age": [ { "Under 20": "14", "Above 40": "1" } ] 为此: $scope data = {rows:[ {c: [ {v: "Under 20"}, {v: 14} ]}, {c: [ {v: "Above 40"}, {v: 1}, ]} }] 我试过: $.map(resp.age, (el,

我要转换此对象:

"age": [
  {
     "Under 20": "14",
     "Above 40": "1"
  }
]
为此:

 $scope data =  {rows:[ 
    {c: [
        {v: "Under 20"},
        {v: 14}
    ]},
    {c: [
        {v: "Above 40"},
        {v: 1},
    ]}
 }]
我试过:

 $.map(resp.age, (el, key) => {
        arr.push({c: [{v: el}, {v: el}]});
 });
我知道如何使用$.map和arr.push,但我无法获得20以下的键并获取元素值14

我怎样才能做到这一点呢?

这应该可以做到:

function convert(arr) {
    var ages = arr["age"][0];
    return {
        'rows': Object.keys(ages).map(function(key) {
            return {'c': [{'v': key}, {'v':parseInt(ages[key])}] };
        })
    }
}

// Usage:
convert({
    "age": [{
        "Under 20": "14",
        "Above 40": "1"
    }]
});
以上代码输出:

{"rows":[{"c":[{"v":"Under 20"},{"v":14}]},{"c":[{"v":"Above 40"},{"v":1}]}]}

@你好。很抱歉。我从inspect元素复制。我用有效的object更新我的问题@smnbbrv声明,你的目标对象无效:同一个对象内不能有两个c字段。你能发布你的代码吗?你试过哪个?@jehna1嗨。我已经解决了我的问题@San Krish我尝试过使用$.map,但我不知道确切的键。到目前为止,我只尝试使用$.map和console.log元素。如果您想得到低于20和14的值,您认为的方式是错误的。我建议您使用Object.keys函数获取对象的键。谢谢。它工作得很好。