首页 > 解决方案 > Ramda中带有列表头的管道obj键列表

问题描述

我怎么管这个?

R.keys(obj) 返回一个列表 R.head 应该得到我缺少的列表的第一项?

const obj = {f: "hi"}     
const keysList = R.keys(obj);
const head = R.head(keysList);

const myPipe = R.pipe(keysList , head ) //?

标签: functional-programmingpiperamda.js

解决方案


R.pipe 需要一个函数列表,并返回一个新函数。调用该函数时,传递给该函数的任何参数都将传递给管道中的第一个函数,第一个函数的结果将传递给下一个函数,依此类推。

在您的情况下,您尝试创建一个如下所示的函数:

o => R.head(R.keys(o))

这相当于:

R.pipe(R.keys, R.head)

例子:

const obj = {f: "hi"}     

const myPipe = R.pipe(R.keys, R.head)

const result = myPipe(obj)

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.js"></script>


推荐阅读