我有下表:
[
{
"fr": {
"strenghts": [
{
"icon": "fa-briefcase",
"title": "Marketing"
}
]
}
},
{
en: {
strenghts: [
{
icon: 'fa-briefcase',
title: 'Marketing'
}
]
}
}
]
,我想将其转换为这样的简单对象:
var test = {
"fr": {
"strenghts": [
{
"icon": "fa-briefcase",
"title": "Marketing"
}
]
}
},
{
"en": {
"strenghts": [
{
"icon": "fa-briefcase",
"title": "Marketing"
}
]
}
}
如果您有可以帮助我的解决方案?将我的对象数组转换为简单对象
答案 0 :(得分:3)
通过使用以下代码,您可以获得预期的输出。
let array = [
{
"fr": {
"strenghts": [{
"icon": "fa-briefcase",
"title": "Marketing"
}]
}
},
{
en: {
strenghts: [{
icon: 'fa-briefcase',
title: 'Marketing'
}]
}
}
]
const arrayToObject = (array) =>
array.reduce((obj, item) => {
let key = Object.keys(item);
obj[key[0]] = item[key[0]];
return obj
}, {})
const object = arrayToObject(array)
console.log(object);
答案 1 :(得分:1)
queryResult.on
您最终希望将列出的数组中的所有对象合并为一个对象。您可以点击以下链接查看堆栈溢出的解决方案
答案 2 :(得分:0)
如果您对reduce
语义和函数编程感到困惑,则可以使用此替代解决方案。请注意,这仅适用于您的格式,即,如果嵌套到数组中的对象具有多个键,则该键不起作用
var list = [{
"fr": {
"strenghts": [{
"icon": "fa-briefcase",
"title": "Marketing"
}]
}
},
{
en: {
strenghts: [{
icon: 'fa-briefcase',
title: 'Marketing'
}]
}
}
]
var test = {};
for(let obj of list)
{
let key = Object.keys(obj);
test[key] = obj[key];
}
console.log(test);