Javascript 如何在Angular Typescript中将此keyValue格式转换为数组
如何将此格式转换为数组。我得到一个键值对,如下所示,我必须将此格式转换为.TS文件中的数组Javascript 如何在Angular Typescript中将此keyValue格式转换为数组,javascript,angular,typescript,Javascript,Angular,Typescript,如何将此格式转换为数组。我得到一个键值对,如下所示,我必须将此格式转换为.TS文件中的数组 countryNew: { IN: 159201 BD: 82500 PK: 14237 UA: 486 RU: 9825 } 对此 countryNew: [ {countryCode: 'IN' , value : 159201}, {countryCode: 'BD' , value : 82500}, {countryCode: 'PK' , value : 14237}, {cou
countryNew:
{
IN: 159201
BD: 82500
PK: 14237
UA: 486
RU: 9825
}
对此
countryNew: [
{countryCode: 'IN' , value : 159201},
{countryCode: 'BD' , value : 82500},
{countryCode: 'PK' , value : 14237},
{countryCode: 'UA' , value : 486},
{countryCode: 'RU' , value : 9825},
]
使用帮助Object.keys和array.prototype.map方法可以轻松地将对象转换为数组 const countryNew={ 年:159201, 屋宇署:82500, 主键:14237, UA:486, RU:9825, }; const result=Object.keyscountryNew .mapkey=>{countryCode:key,value:countryNew[key]};
console.logresult 尝试使用Object.keys和Array.map,如下所示:
const countries = Object.keys(countryNew).map((country) => {
return {countryCode: country, value: countryNew[country]}
})
尝试使用Object.entries:
const countryNew={
年:159201,
屋宇署:82500,
主键:14237,
UA:486,
RU:9825,
};
const result=Object.entriescountryNew.mapentry=>{countryCode:entry[0],value:entry[1]};
console.logresult;为什么要为每个属性重新分配数组?这意味着增加宇宙的熵,而不是解决实际问题D@A.Chiesa对于这样小的物体,我认为现在不是考虑微观优化的时候,这不是微观优化的问题。你有map,它不会每次都重新分配数组,所以你应该用它来减少。对于相同的结果,使用reduce会使用更多的代码、更多的CPU时间,可能会占用更多的内存。您不知道对象是否有5个或500个属性。仅仅是分配数百个无用数组的可能性,一遍又一遍地复制,就让我头疼。为什么要继续^2如果你能继续的话。@A.Chiesa你是对的。我先设计过度了。