Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 格式化非结构化数组_Javascript_Arrays_Object - Fatal编程技术网

Javascript 格式化非结构化数组

Javascript 格式化非结构化数组,javascript,arrays,object,Javascript,Arrays,Object,我目前有一个平面数据集,我想用不同的标题名来格式化它。我试着找一些类似的例子,但什么也找不到。在使用第二组数据创建第二个数组之前,我只需要第一个数组中的前3项。我掌握的数据是: [ ['Peoples Revolutionary Party', '52', '#F2D7D5', 'Peoples Revolutionary Party', 'Farmer Labor Party', '40', '#1db309', 'Farmer Labo

我目前有一个平面数据集,我想用不同的标题名来格式化它。我试着找一些类似的例子,但什么也找不到。在使用第二组数据创建第二个数组之前,我只需要第一个数组中的前3项。我掌握的数据是:

[
['Peoples Revolutionary Party',
    '52',
    '#F2D7D5',
    'Peoples Revolutionary Party',
    'Farmer Labor Party',
    '40',
    '#1db309',
    'Farmer Labor Party',
    'Democratic Party',
    '145',
    '#1c7eff',
    'Democratic Party',
    'NEW',
    '1',
    '#ff0000',
    'NEW',
    'States Rights Party',
    '5',
    '#011d57',
    'States Rights Party',
    'The Party',
    '58',
    '#800020',
    'The Party',
    'California National Party',
    '9',
    '#d9a517',
    'California National Party',
    'Independent',
    '7',
    'grey',
    'Independent',
    'United Foxboro Party',
    '2',
    '#0722ed',
    'United Foxboro Party',
    'Republican Party',
    '75',
    'red',
    'Republican Party',
    'Gulf Coast Party',
    '16',
    '#b4b710',
    'Gulf Coast Party',
    'Libertarian Party',
    '11',
    '#ffd700',
    'Libertarian Party',
    'American Fascist Party',
    '8',
    '#000000',
    'American Fascist Party',
    'American Nationalist Party',
    '2',
    '#5c4033',
    'American Nationalist Party']
]
我想得到如下数据:

[
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}],
[name: "Peoples Revolutionary Party", info: {seats: "52", color: "#F2D7D5"}]
] 
像那样

const input=['人民革命党',
'52',
"F2D7D5",,
"人民革命党",,
"农民工党",,
'40',
“#1db309”,
"农民工党",,
"民主党",,
'145',
"1c7eff",,
"民主党",,
"新",,
'1',
#ff0000",,
"新",,
“国家人权党”,
'5',
“011d57”,
“国家人权党”,
"党",,
'58',
'#800020',
"党",,
“加州国家党”,
'9',
"d9a517",,
“加州国家党”,
"独立",,
'7',
“灰色”,
"独立",,
“福克斯博罗联合党”,
'2',
"0722ed",,
“福克斯博罗联合党”,
"共和党",,
'75',
“红色”,
"共和党",,
"海湾党",,
'16',
"b4b710",,
"海湾党",,
“自由意志党”,
'11',
#ffd700",,
“自由意志党”,
"美国法西斯党",,
'8',
'#000000',
"美国法西斯党",,
"美国国民党",,
'2',
"5c4033",,
“美国民族主义党”];
设i,j,chunk=4
常量输出=[];

对于(i=0,j=input.length;i您需要一次切片4个元素,然后将这四个元素转换为您想要的对象-为什么它是一个二维数组?-此外,您的输出格式无效-我该如何执行此操作?@Tune,通过使用数组切片和其他代码
const output=input.map(a=>a.slice(0,a.length>>2).map(u,i)=>({name:a[iclose,但您已将OP的输入数据更改为一维数组。此输出毫无意义,
[name:xxx,info:{…}]
无效,如果您使用
const[name,color,seats]=input.slice(i,i+chunk)
您可以将push调用更改为
output.push({name,info:{color,seats}})
哪个更干净。