我正在尝试使用ramda,我需要一个纯函数,让我知道给定的输入是否为字符串,就像lodash _.isString
一样。
在搜索到处后,我在Ramda找不到任何东西。所以我想知道,有没有办法,使用任何Ramda的现有函数,我可以创建一个isString
函数?
我发现这可怕的限制,我不可能最后使用lodash:S
答案 0 :(得分:14)
而不是isString
,isObject
,isArray
,isFunction
等,Ramda只提供 is
,而你可以用来创建你喜欢的任何一个:
const isString = R.is(String)
const isRectangle = R.is(Rectangle)
isString('foo') //=> true
isString(42) //=> false
isRectangle(new Rectangle(3, 5)) //=> true
isRectangle(new Square(7)) //=> true (if Rectangle is in the prototype chain of Square)
isRectangle(new Triangle(3, 4, 5)) //=> false
您不必创建中间函数。您可以按原样使用它:
R.is(String, 'foo') //=> true
R.is(String, {a: 'foo'}) //=> false
答案 1 :(得分:0)
这也应该R.type(x) === "String"