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函数获取对象的键。谢谢。它工作得很好。