![](/img/trans.png)
[英]How to convert array of objects into enum like key value pair in javascript?
[英]How to convert enum into a key,value array in typescript?
var enums = {
'1': 'HELLO',
'2' : 'BYE',
'3' : 'TATA'
};
我希望能够将其转换为如下所示的数组,
[
{
number:'1',
word:'HELLO'
},
{
number:'2',
word:'BYE'
},
{
number:'3',
word:'TATA'
}
]
我看到的所有解决方案都由键或值组成的数组。
您可以使用Object.entries并将其映射为所需的格式
var enums = { '1': 'HELLO', '2' : 'BYE', '3' : 'TATA' }; let op = Object.entries(enums).map(([key, value]) => ({ number:key, word:value })) console.log(op)
您可以使用短手属性映射条目。
var enums = { 1: 'HELLO', 2: 'BYE', 3: 'TATA' }, objects = Object.entries(enums).map(([number, word]) => ({ number, word })); console.log(objects);
.as-console-wrapper { max-height: 100% !important; top: 0; }
您可以将Object.entries()与foreach一起使用,并将其推送到这样的数组中
var enums = { '1': 'HELLO', '2' : 'BYE', '3' : 'TATA' }; var enumArray = [] Object.entries(enums).forEach(([key, value]) => enumArray.push({number : key, word : value})); console.log(enumArray);
需要创建一个Map类型的对象,然后使用诸如outData.get(“ 1”)之类的get方法获取值
var obj = {
'1': 'HELLO',
'2': 'BYE',
'3': 'TATA'
};
var outData = new Map();
Object.keys(obj).forEach(function (e) {
outData.set(e, obj[e])
});
要获取数据,请使用outData.get(“ key”)
现在,输出数据将像-
Map(3) {"1" => "HELLO", "2" => "BYE", "3" => "TATA"}
另一种选择是使用for ... in循环迭代enums
键并构造所需的对象数组。
var enums = { '1': 'HELLO', '2' : 'BYE', '3' : 'TATA' }; let res = []; for (key in enums) { res.push({number: key, word: enums[key]}); } console.log(res);
.as-console {background-color:black !important; color:lime;} .as-console-wrapper {max-height:100% !important; top:0;}
您可以使用Object.keys和地图
var obj = { '1': 'HELLO', '2' : 'BYE', '3' : 'TATA' }; const result = Object.keys(obj).map(el => { return { number: el, word: obj[el] } }) console.log(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.