Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
Arrays 从大型未排序对象创建对象数组_Arrays_Typescript_Object - Fatal编程技术网

Arrays 从大型未排序对象创建对象数组

Arrays 从大型未排序对象创建对象数组,arrays,typescript,object,Arrays,Typescript,Object,我需要从TypeScript中的一些数据创建一个对象数组。我从api获得的数据格式非常糟糕,因为它只是一个大对象 看起来像这样 KeyBinary00: null KeyBinary01: null KeyBinary02: null KeyBinary03: null KeyBinary04: null KeyBoolean00: "deling" KeyBoolean01: null KeyBoolean02: null KeyBoolean03: null KeyBoo

我需要从TypeScript中的一些数据创建一个对象数组。我从api获得的数据格式非常糟糕,因为它只是一个大对象

看起来像这样

KeyBinary00: null
KeyBinary01: null
KeyBinary02: null
KeyBinary03: null
KeyBinary04: null
KeyBoolean00: "deling"
KeyBoolean01: null
KeyBoolean02: null
KeyBoolean03: null
KeyBoolean04: null
KeyDateTime00: "start"
KeyDateTime01: "slutt"
KeyDateTime02: null
KeyDateTime03: null
KeyDateTime04: null
KeyInteger00: "verdi"
KeyInteger01: null
KeyInteger02: null
KeyInteger03: null
KeyInteger04: null
KeyString00: "status"
KeyString01: "beskrivelse"
KeyString02: "leverandør"
KeyString03: "prosjektleder"
KeyString04: "prosjektnavn"
KeyString05: "tekniskPL"
KeyString06: "klasse"
KeyString07: "type"
KeyString08: "statusBeskrivelse"
KeyString09: "id"
LabelBinary00: null
LabelBinary01: null
LabelBinary02: null
LabelBinary03: null
LabelBinary04: null
LabelBoolean00: "Ekstern Deling"
LabelBoolean01: null
LabelBoolean02: null
LabelBoolean03: null
LabelBoolean04: null
LabelDateTime00: "Startdato"
LabelDateTime01: "Sluttdato"
LabelDateTime02: null
LabelDateTime03: null
LabelDateTime04: null
LabelInteger00: "Verdi"
LabelInteger01: null
LabelInteger02: null
LabelInteger03: null
LabelInteger04: null
LabelString00: "Prosjektstatus"
LabelString01: "Beskrivelse"
LabelString02: "Leverandør"
LabelString03: "Prosjektleder / KAM"
LabelString04: "Prosjektnavn"
LabelString05: "Teknisk PL"
LabelString06: "Prosjektklasse"
LabelString07: "Prosjekttype"
LabelString08: "Prosjesktstatus beskrivelse"
LabelString09: "Prosjekt"
ValueBinary00: null
ValueBinary01: null
ValueBinary02: null
ValueBinary03: null
ValueBinary04: null
ValueBoolean00: false
ValueBoolean01: null
ValueBoolean02: null
ValueBoolean03: null
ValueBoolean04: null
ValueDateTime00: "2020-01-07T00:00:00Z"
ValueDateTime01: "2021-02-10T00:00:00Z"
ValueDateTime02: null
ValueDateTime03: null
ValueDateTime04: null
ValueInteger00: 10000000
ValueInteger01: null
ValueInteger02: null
ValueInteger03: null
ValueInteger04: null
ValueString00: "Godkjennt"
ValueString01: "Dette prosjektet skal kjøpe inn."
ValueString02: "Siemens"
ValueString03: "Tom Tommerson"
ValueString04: "Innkjøp av nye leker"
ValueString05: "Adele Adelerson"
ValueString06: "Stort prosjekt"
ValueString07: "Innkjøp"
ValueString08: "En beskrivelse om status"
ValueString09: "20-12"
我需要做的是创建一个对象数组,其中所有对应的值都是这样放在一起的

[
{
KeyBoolean00: "deling",
LabelBoolean00: "Ekstern Deling",
ValueBoolean00: false
},
{
KeyDateTime00: "start",
LabelDateTime00: "Startdato",
ValueDateTime00: "2020-01-07T00:00:00Z"
},
{
KeyString00: "status"
LabelString00: "Prosjektstatus"
ValueString00: "Godkjennt"
}
]
如果这有意义的话。 我试过一些方法,但我不知道怎么做。

用于获取钥匙号码,如
00
01
。。。并建立必要的对象

const obj={
KeyBinary00:null,
KeyBinary01:null,
KeyBinary02:null,
KeyBinary03:null,
KeyBinary04:null,
KeyBoolean00:“deling”,
KeyBoolean01:null,
KeyBoolean02:null,
KeyBoolean03:null,
KeyBoolean04:null,
KeyDateTime00:“开始”,
KeyDateTime01:“slutt”,
KeyDateTime02:null,
KeyDateTime03:null,
KeyDateTime04:null,
KeyInteger00:“verdi”,
KeyInteger01:null,
KeyInteger02:null,
KeyInteger03:null,
KeyInteger04:null,
KeyString00:“状态”,
KeyString01:“beskrivelse”,
按键串02:'leverandør',
KeyString03:“ProsJetLeder”,
KeyString04:'ProsJetNavN',
KeyString05:'tekniskPL',
按键串06:‘klasse’,
KeyString07:'类型',
KeyString08:'状态Beskrivelse',
KeyString09:“id”,
LabelBinary00:null,
LabelBinary01:null,
LabelBinary02:null,
LabelBinary03:null,
LabelBinary04:null,
LabelBoolean00:“Ekstern Deling”,
LabelBoolean01:null,
LabelBoolean02:null,
LabelBoolean03:null,
LabelBoolean04:null,
LabelDateTime00:“Startdato”,
LabelDateTime01:‘Sluttdato’,
LabelDateTime02:null,
LabelDateTime03:null,
LabelDateTime04:null,
LabelInteger00:‘Verdi’,
LabelIntegrater01:null,
LabelInteger02:null,
LabelIntegrater03:null,
LabelInteger04:null,
LabelString00:“ProsJetStatus”,
LabelString01:‘Beskrivelse’,
LabelString02:‘Leverandør’,
标签TRING03:‘Prosjektleder/KAM’,
LabelString04:‘ProsJetNavN’,
标签TRING05:‘Teknisk PL’,
LabelString06:“Prosjektklasse”,
LabelString07:‘ProsJetType’,
LabelString08:“ProJesktStatus beskrivelse”,
LabelString09:‘Prosjekt’,
ValueBinary00:null,
ValueBinary01:null,
ValueBinary02:null,
ValueBinary03:null,
ValueBinary04:null,
ValueBoolean00:false,
ValueBoolean01:null,
ValueBoolean02:null,
ValueBoolean03:null,
ValueBoolean04:null,
ValueDateTime00:'2020-01-07T00:00:00Z',
ValueDateTime01:'2021-02-10T00:00:00Z',
ValueDateTime02:null,
ValueDateTime03:null,
ValueDateTime04:null,
值整数00:10000000,
ValueInteger01:null,
ValueInteger02:null,
ValueInteger03:null,
ValueInteger04:null,
ValueString00:“Godkjennt”,
ValueString01:“Dette prosjektet skal kjøpe酒店”,
ValueString02:‘西门子’,
ValueString03:“汤姆·汤默森”,
ValueString04:“Innkjøp av nye leker”,
ValueString05:“Adele Adelerson”,
ValueString06:'Stort prosjekt',
ValueString07:‘Innkjøp’,
ValueString08:“En beskrivelse om状态”,
ValueString09:'20-12',
};
const result=Object.values(
Object.key(obj).reduce((acc,key)=>{
const number=key.substring(key.length-2,key.length);//00
acc[number]=acc[number]?{……acc[number],[key]:obj[key]}:{[key]:obj[key]};
返回acc;
}, {}),
);

控制台日志(结果)几乎成功了。它现在根据末尾的数字将它们拆分。我想把它们分为两个因素,末尾的数字和名称中的数据类型。像这样
[{keybary04:null,LabelBinary04:null,ValueBinary04:null,},{KeyBoolean04:null,LabelBoolean04:null,ValueBoolean04:null},{KeyString04:“prosjektnavn”,LabelString04:“prosjektnavn”,ValueString04:“Innkjøp”},等等]
我认为您可以为自己进一步定制这个示例,例如,通过添加键
number
另一个
subctring
正则表达式
是的,这就是我现在正在做的。再次感谢。