Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在typescript中将枚举转换为键、值数组?_Javascript_Arrays_Typescript_Enums_Casting - Fatal编程技术网

Javascript 如何在typescript中将枚举转换为键、值数组?

Javascript 如何在typescript中将枚举转换为键、值数组?,javascript,arrays,typescript,enums,casting,Javascript,Arrays,Typescript,Enums,Casting,我想把它转换成一个像这样的数组 var enums = { '1': 'HELLO', '2' : 'BYE', '3' : 'TATA' }; 我看到的所有解决方案都是由键或值组成的数组 您可以使用并将其转换为所需格式 var枚举={ “1”:“你好”, “2”:再见, “3”:“塔塔” }; 让op=Object.entries(enums.map([key,value])=>({number:key,word:value})) 控制台日志(op) 需要创建映射类型的对象

我想把它转换成一个像这样的数组

var enums = {
  '1': 'HELLO',
  '2' : 'BYE',
  '3' : 'TATA'
  };
我看到的所有解决方案都是由键或值组成的数组

您可以使用并将其转换为所需格式

var枚举={
“1”:“你好”,
“2”:再见,
“3”:“塔塔”
};
让op=Object.entries(enums.map([key,value])=>({number:key,word:value}))
控制台日志(op)
需要创建映射类型的对象,然后使用get获取值 方法,如outData.get(“1”)

要获取数据,请使用outData.get(“key”)

现在输出的数据会像-

var obj = {
    '1': 'HELLO',
    '2': 'BYE',
    '3': 'TATA'
};
var outData = new Map();
Object.keys(obj).forEach(function (e) {
    outData.set(e, obj[e])
});

另一种方法是使用循环在
枚举
键上迭代,并构造所需的对象数组

var枚举={
“1”:“你好”,
“2”:再见,
“3”:“塔塔”
};
设res=[];
用于(输入枚举)
{
res.push({number:key,word:enums[key]});
}
控制台日志(res)
.as控制台{背景色:黑色!重要;颜色:石灰;}

.as console wrapper{max height:100%!important;top:0;}
您可以使用映射条目

var enums={1:'你好',2:'再见',3:'塔塔'},
objects=Object.entries(enum.map)([number,word])=>({number,word}));
console.log(对象)
.as控制台包装器{max height:100%!important;top:0;}
您可以与foreach一起使用,并将其推送到如下数组中

var枚举={
“1”:“你好”,
“2”:再见,
“3”:“塔塔”
};
变量枚举数组=[]
Object.entries(enums.forEach(([key,value])=>enumArray.push({number:key,word:value}));

log(枚举数组)您可以使用Object.key和map

var obj={
“1”:“你好”,
“2”:再见,
“3”:“塔塔”
};
const result=Object.keys(obj.map)(el=>{
返回{
编号:el,
单词:obj[el]
}
})

console.log(结果)
什么是
{'1','HELLO'}
?它既不是有效的JavaScript,也不是有效的TypeScript。为什么您希望
{number:'2',word:'TATA'}
?@jcalz显然是一个打字错误。您如何知道这是预期的输出?@brk这是在问题mate中指定的
我希望能够将其转换为如下所示的数组,
感谢您的回答。这给了我输出[{“1”:“HELLO”},{“2”:“BYE”},{“3”:“TATA”}]我需要它是[{“1”,“HELLO”},{“2”,“BYE”},{“3”,“TATA”}],而不是:@user7434041您能描述一下您期望的数据类型吗<代码>{“1”,“HELLO”}
不是有效的javascript或typescript。它看起来就像一条巨蟒tuple@user7434041在对象中,需要键/值对,格式为-->
key:value
var obj = {
    '1': 'HELLO',
    '2': 'BYE',
    '3': 'TATA'
};
var outData = new Map();
Object.keys(obj).forEach(function (e) {
    outData.set(e, obj[e])
});
Map(3) {"1" => "HELLO", "2" => "BYE", "3" => "TATA"}