Javascript 使用lodash将键/值对转换为对象
我有一组键/值对,我想将它们转换为对象。使用lodash的最佳方法是什么Javascript 使用lodash将键/值对转换为对象,javascript,lodash,Javascript,Lodash,我有一组键/值对,我想将它们转换为对象。使用lodash的最佳方法是什么 maps: { "Recipe1" : ["Sugar", "Milk", "Bread"], "Recipe2" : ["Rice", "Salt", "Carrots"] } 寻找一个像下面这样的 { name: "Recipe1", ingredients: ["Sugar", "Milk", "Bread"] }, { name: "Recipe2", ingredients: ["Ri
maps: {
"Recipe1" : ["Sugar", "Milk", "Bread"],
"Recipe2" : ["Rice", "Salt", "Carrots"]
}
寻找一个像下面这样的
{
name: "Recipe1",
ingredients: ["Sugar", "Milk", "Bread"]
},
{
name: "Recipe2",
ingredients: ["Rice", "Salt", "Carrots"]
}
可以使用获取键/值对数组。使用迭代pairs数组。用于获取名称
和成分
参数,并使用以下内容创建结果对象:
const映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
};
const result=Object.entries(映射)
.map(([name,Components])=>({name,Components}));
控制台日志(结果)代码>可用于获取键/值对数组。使用迭代pairs数组。用于获取名称
和成分
参数,并使用以下内容创建结果对象:
const映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
};
const result=Object.entries(映射)
.map(([name,Components])=>({name,Components}));
控制台日志(结果)代码>对于返回的对象,如果不使用lodash、使用、和,这是非常简单的:
const映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
}
常量输出=Object.entries(maps.map)(
([name,Components])=>({name,Components})
)
console.log(output)
对于返回的对象,如果没有lodash,使用、a和,这是非常简单的:
const映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
}
常量输出=Object.entries(maps.map)(
([name,Components])=>({name,Components})
)
console.log(输出)
带Lodash:
var映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
};
var输出=u2;.map(映射,函数(值,键){
返回{name:key,components:value};
});
控制台日志(输出)代码>
含Lodash的
:
var映射={
“Recipe1”:[“糖”、“牛奶”、“面包”],
“Recipe2”:[“大米”、“盐”、“胡萝卜”]
};
var输出=u2;.map(映射,函数(值,键){
返回{name:key,components:value};
});
控制台日志(输出)代码>
对于输出,您的意思是映射:[{name:…,components:…},{name:…,components:…}]
?const result=Object.keys(maps).map(k=>({name:k,components:maps[k]})代码>对于输出,您是指映射:[{name:…,components:…},{name:…,components:…}]
?const result=Object.keys(maps).map(k=>({name:k,components:maps[k]})代码>。.map(maps,(配料,名称)=>({name,配料}))
不那么冗长。@PatrickRoberts确实如此。当我回答带有Lodash
标记的问题时,为了那些习惯于使用Lodash的人的利益,我尝试遵循Lodash中一贯使用的语法。另外,就个人而言,我不太喜欢参数名称对输出至关重要的函数。。.map(maps,(components,name)=>({name,components}))
的详细程度要低得多。@PatrickRoberts确实如此。当我回答带有Lodash
标记的问题时,为了那些习惯于使用Lodash的人的利益,我尝试遵循Lodash中一贯使用的语法。另外,就我个人而言,我不太喜欢参数名称对输出至关重要的函数。