Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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_Sorting_Object - Fatal编程技术网

如何将中带有数组的javascript对象转换为具有相应名称和值的对象数组?

如何将中带有数组的javascript对象转换为具有相应名称和值的对象数组?,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,这里的程序员同事,出于某种原因,我已经花了两天时间,但我不能正确地完成这项工作,所以请帮助我。 我有一个对象,每个键都有数组,如下所示: var arraysObject={ “北美”:[ “圆锥”, “命名者”, “美国/AK”, “美国北卡罗来纳州”, “美国东北部”, “美国西北部”, “美国SC”, “美国东南部” ], “奥克努斯”:[ “阿拉斯加”, “关岛”, “夏威夷”, “极地”, “美属萨摩亚” ], }您可以使用一个对象来跟踪键的索引,并使用一个辅助对象来恢复值/键关系

这里的程序员同事,出于某种原因,我已经花了两天时间,但我不能正确地完成这项工作,所以请帮助我。 我有一个对象,每个键都有数组,如下所示:

var arraysObject={
“北美”:[
“圆锥”,
“命名者”,
“美国/AK”,
“美国北卡罗来纳州”,
“美国东北部”,
“美国西北部”,
“美国SC”,
“美国东南部”
],
“奥克努斯”:[
“阿拉斯加”,
“关岛”,
“夏威夷”,
“极地”,
“美属萨摩亚”
],

}
您可以使用一个对象来跟踪键的索引,并使用一个辅助对象来恢复值/键关系

const
arraysObject={“北美”:[“美国本土”、“命名者”、“美国/AK”、“美国北卡罗来纳州”、“美国东北部”、“美国西北部”、“美国南卡罗莱纳州”、“美国东南部”],“奥克努斯”:[“阿拉斯加”、“关岛”、“夏威夷”、“极地”、“美属萨摩亚”],
keys=Object.fromEntries(Object.entries(arraysObject).flatMap([k,a])=>a.map(v=>[v,k])),
EMPTY=Object.fromEntries(Object.keys(arraysObject.map)(k=>[k',]),
地区清单=[“美国”、“关岛”、“美属萨摩亚”],
索引={},
结果=[];
listOfAreas.forEach(值=>{
常量键=键[值];
索引[键]??=0;
(结果[索引[键]+]??={…空})[键]=值;
});
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
两个“北美”结果(如
[CONUS,NAMER]
)会发生什么?因为“唯一”值似乎应该来自键,而不是相反。我无法理解您试图创建的数据结构。您能澄清一下吗?数据结构是一个对象数组,基本上是第一个对象的逆对象,在选定的数组中只有字符串。这用于创建具有引导的表,需要采用该格式。@RandyCasburn CONUS是北美阵列列表中唯一选定的字符串array@TadewosBellete-是的,我理解你提供的示例。我的问题与可能包含来自北美的两个元素的不同输入数组有关。这会发生在你的应用程序中吗?你怎么会这么快做到的?非常感谢。但是,等等,它在实现过程中给了我重复的值。在哪里可以得到重复的值?值应该是唯一的。它从
对象获取
,使用该键将索引对象赋值为零,或者如果不是
null
或未定义`,则保留该值(这在以后仅使用emtpty字符串作为值的对象展开时使用)。在最后一行中,通过使用
索引中的索引进行赋值(其中索引增加),检查
null
未定义的
,在这种情况下分配对象,最后使用索引和键将值移到其正确的位置。