javascript - 使用 Ramda 将对象数组转换为普通对象

标签 javascript functional-programming ramda.js

如何将对象数组转换为普通对象? 其中数组的每一项都是一个只有一个键值对的对象,并且键名未知。

我有这个

const arrayOfObject = [
    {KEY_A: 'asfas'},
    {KEY_B: 'asas' }
]
let result = {} 
const each = R.forEach((item) => {
   const key = R.keys(item)[0]
    result[key] = item[key]
})
return result

但我不喜欢该解决方案,因为 forEach 使用全局变量 result,我不确定如何避免此处的副作用。

最佳答案

Ramda 为此内置了一个函数,mergeAll .

const arrayOfObject = [
     {KEY_A: 'asfas'}
    ,{KEY_B: 'asas' }
];

R.mergeAll(arrayOfObject); 
//=> {"KEY_A": "asfas", "KEY_B": "asas"}

关于javascript - 使用 Ramda 将对象数组转换为普通对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37040534/

相关文章:

javascript - Canvas 旋转粒子

javascript - 缓存清除不起作用?谷歌浏览器?

Dartz - 离开 Either

javascript - 如何为 `pipe` d ES6 函数生成 JSDoc

scala - 将所有过滤函数应用于一个值

Javascript Ramda 如何使 R.find(R.propEq()) 不区分大小写?

javascript - react Antd : How to remove spacing between vertical divider and any content right next to it?

javascript - 使用空格键聚焦时删除输入中的第一个空格

javascript - Ramda 函数在应用于参数时评估函数的相等性

javascript - Ramda,在函数中发送参数