我正在尝试使用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);