javascript数组转换为具有相同键名的对象

javascript array into object with same key names

本文关键字:对象 数组 转换 javascript      更新时间:2023-09-26

我有一个不寻常的问题需要解决。我有一组Guids

[
 "c01f8237-72c8-4fa6-9c53-1915750385aa",
 "2c8a471b-c408-436c-81b1-3f3867d8ffb4",
 "27a44d46-12bd-4784-ceed-57ada31b0e33"
] 

此数组必须转换为:

   {
     id: "c01f8237-72c8-4fa6-9c53-1915750385aa",
     id: "2c8a471b-c408-436c-81b1-3f3867d8ffb4",
     id: "27a44d46-12bd-4784-ceed-57ada31b0e33"
   } 

我知道不应该这样做,但不幸的是,我无法控制后端部分。知道吗?

感谢

字典键的全部意义在于它唯一地映射到某个值。您想要的输出试图复制密钥,因此既不可能也没有意义。

如果您将其传递到后端(正如您所建议的那样),那么您当然可以手动构建一个字符串来通过在有效负载中复制密钥的连线进行传递,但实际上您无法首先在JavaScript中完成此操作。您必须手动构建字符串。

还要注意,您可以随意调用此格式,但您不能将其称为JSON,也不能使用JSON库来构建它(因为它不是JSON)。如果您的API需要自定义格式,那么您需要编写代码来构建该自定义格式。

如果你只想要一个字符串,就做一些类似的事情

var str = '{' + idArray.map(function(id) { 
       return "id: "+id
   }).join(','n')+'}';

我不知道你会在上面放什么mime类型,因为它不是有效的JSON。