Javascript JSON到JSON的转换:扁平化

Javascript JSON到JSON的转换:扁平化,javascript,json,typescript,Javascript,Json,Typescript,我怎样才能从你那里得到 data1 = [ { "label": "Some Label", "value": '018'}, { "label": "Another Label", "value": '020'} ] 到 for循环应该是什么样子 for (let item of data){ .... } 您可以使用并返回对象 var数据=[ {“标签”:“某些标签”,“值”:“018”}, {“标签”:“另一个标签”,“值”:“020”} ] var结果=

我怎样才能从你那里得到

data1 = [
    { "label": "Some Label", "value": '018'},
    { "label": "Another Label", "value": '020'}
] 

for循环应该是什么样子

for (let item of data){
    ....
}
您可以使用并返回对象

var数据=[
{“标签”:“某些标签”,“值”:“018”},
{“标签”:“另一个标签”,“值”:“020”}
] 
var结果=数据.reduce(函数(r,e){
r[e.值]=e.标签;
返回r;
}, {})
console.log(result)
您可以使用值作为键来使用和构建对象

var data1=[{label:'Some label',value:'018'},{label:'other label',value:'020'}],
数据2={};
data1.forEach(函数(a){
data2[a.value]=a.label;
});

console.log(data2)
如果您想坚持使用
for..of
循环,可以执行以下操作:

var data2 = {};

for (let item of data) {
  data2[item.value] = item.label
}
试试这个

var数据1=[{
“标签”:“一些标签”,
“值”:“018”
}, {
“标签”:“另一个标签”,
“值”:“020”
}];
var data2={};

对于(i=0;i试试这个,它应该可以正常工作

/**声明数据1*/
常量数据1=[
{
标签:“一些标签”,
值:“018”
}, 
{
标签:“另一个标签”,
值:“020”
}
]
/**声明数据2*/
常量数据2={}
/**循环data1以获取data2值*/
data1.forEach(项目=>{
data2[item.value]=item.label
})

console.log(数据2)
是否跨浏览器兼容?您可以在MDN上查看
浏览器兼容性
为什么使用
reduce
而不是
map
map
用于从旧数组中获取新数组。
reduce
用于将数组缩减为单个值,在这种情况下,这是一个对象,因此我认为它是一个不错的选择。是否跨浏览器-浏览器兼容?它实际上由任何浏览器兼容。
var data2 = {};

for (let item of data) {
  data2[item.value] = item.label
}