如何使用Ramda从对象创建属性/值数组?

时间:2018-08-21 16:11:18

标签: javascript ramda.js

我有一个类似

的对象
const obj = {
   apple:'red',
   banana:'yellow'
}

我需要使用ramda返回具有属性/值的数组。

示例:

[
    {
        name: 'apple',
        value:'red'
    },
    {
        name: 'banana',
        value:'yellow'
    },
]

2 个答案:

答案 0 :(得分:2)

ramda解决方案:

R.pipe(
  R.toPairs,
  R.map(R.zipObj(['name', 'value']))
)(obj)

答案 1 :(得分:1)

您可以使用Object.entries来实现,而无需任何第三方库,它可以返回一个数组,该数组包含一个包含键和值的数组,并在其上映射以将其转换为对象。

const obj = {
  apple: 'red',
  banana: 'yellow'
};

const result = Object.entries(obj)
  .map(([name, value]) => ({
    name,
    value
  }));

console.log(result);