我正在使用SweetAlert2,我需要创建选项,该选项将填充在选择框中。我知道我可以为此使用“ inputOptions”字段,并在下面查看了他们的示例(来自他们的站点):
inputOptions: {
'SRB': 'Serbia',
'UKR': 'Ukraine',
'HRV': 'Croatia'
},
现在,当您有一组固定编码的硬编码数据时,那就好了。但是,在我的用例中,我需要能够从数据库中提取这些内容,而我的API已经通过REST端点做到了这一点,并且可以说我以以下结构返回它:
[
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "SRB", "value":"Croatia"}
]
有没有一种简单的方法可以将底部格式转换为顶部格式?
我尝试对其进行迭代,为每个变量创建一个var,如下所示:
var items = JSON.parse(listFromAPI);
for (var item in items)
{
var test = { item.key : item.value };
}
但这似乎不起作用?我真的可以在这里使用一些帮助。
提前致谢!
最佳答案
您可以遍历基础对象并根据需要创建inputOptions:
var base_format = [
{"key": "SRB", "value":"Serbia"},
{"key": "UKR", "value":"Ukraine"},
{"key": "HRV", "value":"Croatia"}
];
var inputOptions = {};
for (item of base_format)
inputOptions[item.key] = item.value;
console.log(inputOptions);