从另一个JSON对象开始创建JSON对象以进行Materialize Autocomplete



我正在尝试使用Materialize中的自动完成。

API请求提供以下数据:

[
{
"id": 4007,
"name": "Curitiba, Paraná, BR"
},
{
"id": 4391,
"name": "Curitibanos, Santa Catarina, BR"
}
]

但我需要使用JavaScript格式化这些数据,格式如下:

{ 
"Curitiba, Paraná, BR": null,
"Curitibanos, Santa Catarina, BR" , null
}

提前感谢您的帮助!:(

您可以将对象数组映射到{[name]: null}对象数组。这里[name]是一个计算的属性名称,它允许您使用name变量的值作为对象的键。然后,可以使用Object.assign()和排列语法(...(将映射的数组合并为一个结果对象。

参见以下示例:

const arr= [ { "id": 4007, "name": "Curitiba, Paraná, BR" }, { "id": 4391, "name": "Curitibanos, Santa Catarina, BR" } ];
const res = Object.assign(...arr.map(({name}) => ({[name]: null})));
console.log(res);

您所要做的就是将每个名称分配为新对象中的一个键:

const data = [
{
"id": 4007,
"name": "Curitiba, Paraná, BR"
},
{
"id": 4391,
"name": "Curitibanos, Santa Catarina, BR"
}
];
var object = {};
var i = 0;
for (i = 0; i < data.length; i++) {
object[data[i].name] = null;
};
console.log(object);

最新更新