Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript数组从特定值映射为新键_Javascript_Lodash - Fatal编程技术网

将javascript数组从特定值映射为新键

将javascript数组从特定值映射为新键,javascript,lodash,Javascript,Lodash,所以我有这种数组 columnData:[ { title: 'Male Members', key: 'm_members' } { title: 'Female Members', key: 'f_members' } ] 我想把它变成这样 newColumn: { m_members: 'Male Members', f_members: 'Female Members } 如何使用javascript或lodash实现这一点 使用和 var

所以我有这种数组

columnData:[
 {
   title: 'Male Members',
   key: 'm_members'
 }
 {
   title: 'Female Members',
   key: 'f_members'
 }
]
我想把它变成这样

newColumn: {
  m_members: 'Male Members',
  f_members: 'Female Members
}
如何使用javascript或lodash实现这一点

使用和

var columnData=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}];
newColumn=columnData.reduce((a,{title,key})=>Object.assign(a,{[key]:title}),{});
console.log(newColumn)使用和

var columnData=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}];
newColumn=columnData.reduce((a,{title,key})=>Object.assign(a,{[key]:title}),{});

console.log(newColumn)
您可以使用
对象执行此操作。分配
并扩展语法

const data=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}]
const result=Object.assign({},…data.map(({title,key})=>({[key]:title}));

console.log(result)
您可以使用
对象执行此操作。分配
并扩展语法

const data=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}]
const result=Object.assign({},…data.map(({title,key})=>({[key]:title}));
console.log(结果)
一个简单的for循环就可以做到这一点


一个简单的for循环就可以做到这一点。

您可以使用
forEach
方法在项目之间循环,然后使用
键和
值填充一个新对象,这些值是从
columnData
获得的:

const columnData=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}]
设newData={};
columnData.forEach(e=>{
newData[e.key]=e.title
})

console.log(newData)
您可以使用
forEach
方法循环浏览项目,然后使用
键和从
columnData
获取的
值填充新对象:

const columnData=[{title:'Male Members',key:'m_Members'},{title:'Female Members',key:'f_Members'}]
设newData={};
columnData.forEach(e=>{
newData[e.key]=e.title
})

console.log(newData)
wow这是最简单的方法,即使我是数组方面的初学者也能很快理解。wow这是最简单的方法,即使我是数组方面的初学者也能很快理解
const result = {};

for(const {title, key} of columnData)
  result[key] = title;