首页 > TAG信息列表 > ramda-js

javascript-使用ramdajs将对象转换为对象数组

我正在编写程序,计算文件中的单词数. 假设对象是这样的: { I: 2, it: 4, that: 1 } 我想做到: [ { word: 'I', count: 2 }, { word: 'it', count: 4 }, { word: 'that', count: 1 } ] 我可以通过使用命令式编程来实现此目标:循环对象… 我检查了文档和谷歌,但找不到

javascript-如何正确使用Ramda / JS编写函数

在学习Ramda.js的练习中,我尝试使用一种功能性方法来解决特定问题. 所以我有这个测试: it.only("map short name to long name POINTFREE", () => { let options = [ { long: "perky", short: "p" }, { long: "turky", short: "t" } ]; let lookupBy

javascript-是否有ramda函数可帮助您将日志记录添加到管道/组成中?

我想将日志记录添加到这样的功能组合链中 const f = R.compose( transformation2, doAlso(x => console.log(`id: ${x.id}`)), transformation1 ) 它将首先应用transformation1,然后记录结果值的id,然后将其传递给transformation2. 实施起来很容易 doAlso = f => x => {

javascript-使用Ramda镜头更改对象的值属性

我想知道如何使用Ramda Lenses更改对象属性. 目前,我的状态很深: buckets[ blocks[ messages[ replies [ {id: 0, text: 'text 0', value: 'simple value 0'}, {id: 1, text: 'text 1', value: 'simpl

Javascript-可以改进Ramda.js数据转换吗?

我有一个商店列表和一个ID列表: var stores = [{id: '1', name: 'first store'}, {id: '2', name: 'second store'}, {id: '3', name: 'third store'}]; var ids = ['1', '2']; 我想获取与列表中的ID匹配的商店的名称:

javascript-如何使用Ramda从数组中获取偶数和奇数项

我有以下内容: var isEven = function (n) { return n % 2 === 0; } var isOdd = function (n) { return n % 2 !== 0; } var indexedList = function(fn, list) { var array = []; for (var i = 0; i < list.length; i++) { if (fn(i

javascript-Ramda-按索引分区

如何使用RamdaJS按索引实现分区? /* * @param {number} index * @param {[]} list * @returns {[found, rest[]]} - array whose index 0 has the found element * * and index 1 has the rest of the given list */ const partitionByIndex = (index, list) => {}; // this

javascript-根据另一个id数组对对象数组进行排序

我有2个数组 a = [2,3,1,4] b = [{id: 1}, {id: 2}, {id: 3}, {id: 4}] 我如何根据a对b进行排序?我想要的输出是 c = [{id: 2}, {id: 3}, {id: 1}, {id: 4}] 我更喜欢使用Ramda或常规JS.解决方法:Ramda对于这些类型的问题确实很有帮助. 在数据大小较小的地方,我们可以使用简单的

javascript – 为什么不能将Promise.resolve作为函数调用?

有些东西让我和我的同事烦恼.考虑以下… const {map, compose} = require('ramda'); compose( console.log, map(Math.tan) )([1,2,3]); compose( console.log, map(v=>Promise.resolve(v)) )([4,5,6]); compose( console.log, map(Promise.resolve) )([7,8,9]);

javascript – 将函数列表应用于Ramda中的值

如何在Ramda中最好地创建此功能? function get_list (value) { return [ first_transform(value), second_transform(value) ] } get_list(12) 我想这是map功能的反转.解决方法:你有几个选择. 假设您的功能已经在列表中: transforms = [first_transform, second_tran

javascript – 如何比较两个对象数组并获取常见对象

大家好我有两个阵列 var elements = [{ "id": "id_1", "type": "input", "businesstype": { "type": "text" } }, { "type": "label",

javascript – RxJS Promise组合(传递数据)

我是Rx的新手,我发现很难找到有关组合承诺的文档,以便第一个承诺的数据传递到第二个承诺,依此类推.这是三个非常基本的承诺,对数据的计算并不重要,只是必须使用先前承诺的数据来完成异步. const p1 = () => Promise.resolve(1); const p2 = x => { const val = x + 1; return Pr

javascript – Ramda currying:如何将参数应用于多个参数

我有一种情况需要这样做: const f = (obj) => assoc('list', createList(obj), obj) 由于我需要第二个和第三个参数的参数,禁止我做类似的事情: const f = assoc('list', somehowGetObj()) 我也尝试过这个,但那不起作用: const f = assoc('list', createList(__)) const f = conv

javascript – Ramda:如何通过currying,过滤和映射来最小化计算资源?

我正在使用Ramda构建一个React应用程序.我还是功能编程的新手(约两个月). 我有一个这样的联系人列表: const contacts = [ { id: 1, firstName: 'Sven', lastName: 'Hillstedt', city: 'Aachen', company: '', position: 'Student',

javascript – 获取每个可能的元素组合

你如何获得数组中2个元素的所有可能组合? 例如: [ 1, 2, 3, 4 ] becomes [ [1, 2], [1, 3], [1, 4], [2, 1], [2, 3], [2, 4], [3, 1], [3, 2], [3, 4], [4, 1], [4, 2], [4, 3] ] 这个答案使用蛮力

javascript – 使用ramda更改数组中的对象属性

我有一个像下面的对象数组: [{name:'name', key:'21',good: 'true'}, {name: 'another name', key:'22',good:'false'}, ...] 现在我想对这个数组中的一个对象进行更改.我的第一次尝试是这样的: const s = R.compose( R.assoc('good', check

javascript – 嵌套数组中的Ramda索引

试图掌握Ramda并且喜欢它到目前为止,但是我正在努力寻找看似非常基本的东西(对不起,如果这是重复的) 我有一系列数组(代表游戏板) const board = [ [4, 0, 2, 2, 0, 3, 0, 2], [4, 3, 3, 1, 2, 3, 4, 3], [4, 4, 3, 2, 4, 1, 1, 4], [0, 2, 4, 1, 0, 3, 2, 2], [4, 1, 0

javascript – 与Ramda一起检查帮助器

我想编写一个函数,其规范在下面的代码段中描述,这是我当前的实现.它确实有效.然而,我一直试图将它写成无点并完全作为ramda函数的组合而无法找到解决方案.该问题与obj =>相关联map(key => recordSpec [key](obj [key])我无法以一种我可以写完整点的方式减少. 我该怎么办? / **   

javascript – FRP中EventStreams的循环依赖关系

所有示例都使用Ramda作为_(很清楚示例上下文中有哪些方法)和kefir作为frp(几乎与bacon.js中的API相同) 我有一个描述位置变化的流. var xDelta = frp .merge([ up.map(_.multiply(1)), down.map(_.multiply(-1)) ]) .sampledBy(frp.interval(10, 0))