我在Javascript中有一个对象。我想在其中添加键值对。
var data = {
'Country1' : '20',
'country2': '30',
'country3': '40',
'country4' : '45'
};
看起来应该是,
var data = {
{name: 'country1', values: '20'},
{name: 'country2', values: '30'},
{name: 'country3', values: '40'},
{name: 'country4', values: '45'},
};
我正在寻找一个解决方案,从给定的对象中,国家/地区名称将自动归入name
,值将变为values
答案 0 :(得分:3)
使用Object#keys迭代对象的Array#map,并以您想要的格式返回一个对象。
注意:为了确保对象的顺序,您可以使用String#localeCompare和numeric: true
选项对键进行排序。
var data = {
'Country1' : '20',
'country2': '30',
'country3': '40',
'country4' : '45'
};
var result = Object.keys(data)
.sort(function(a, b) { // if you need to ensure the order of the keys
return a.localeCompare(b, undefined, { numeric: true})
})
.map(function(key) {
return {
name: key,
value: data[key]
};
});
console.log(result);

答案 1 :(得分:0)
使用 Objecy.Keys 和 forEach
来遍历对象,
var data = {
'Country1' : '20',
'country2': '30',
'country3': '40',
'country4' : '45'
};
var result = [];
Object.keys(data).forEach(key => {
result.push({'name':key,'value':data[key]});
});
console.log(result);

答案 2 :(得分:0)
或使用Object.entries
:
data = Object.entries(data).map(([name, values]) => ({name, values}));