嵌套数组中的Ramda索引
Ramda indices in nested arrays
到目前为止,我一直在努力掌握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, 1, 2, 2, 4, 1],
[3, 3, 4, 3, 2, 0, 1, 3],
[2, 2, 4, 2, 2, 1, 2, 2],
[3, 3, 2, 3, 1, 1, 2, 3]
]
玩家用匹配的瓦片建立移动,所以类似于:
const move = [[7, 4], [7, 5], [6, 5]]
我想将移动坐标匹配的瓦片映射到不同的值(例如,这些坐标的1
s将变为-1
)
我知道Ramda可以用R.addIndex:const mapWithIndex = R.map(R.addIndex)
来增强R.map,这样mapWithIndex((i, value) => // do something))
就可以访问每个瓦片的索引,但我知道如何将所有参数传递到最低级别的
我甚至不能把I和j加在一起,我试过这样的东西:
const mapWithIndex = R.addIndex(R.map)
const addIndices = mapWithIndex((i, row) => mapWithIndex((j, tile) => j + i))
但是调用这个函数会返回一个函数数组。
我错过了什么?如有任何帮助,我们将不胜感激:)
有两个问题:
- 内部CCD_ 5需要访问CCD_
- 示例代码中的值和索引参数颠倒了
这应该做到:
const mapWithIndex = R.addIndex(R.map);
const addIndices = mapWithIndex((row, i) => mapWithIndex((tile, j) => j + i)(row));
相关文章:
- 名称输入的索引
- 在jQuery中获取表的行索引
- 测试索引值是否等于某个数字的倍数
- 循环遍历数组中的特定索引
- 按照选项卡索引的顺序循环一个jQuery选择
- 在JavaScript中通过索引从对象数组中获取值
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- 在索引.html和应用.js [node.js] 之间共享变量
- 如何为高图中的区域线创建z索引
- 下拉列表在使用z索引放置在前面后停止工作
- 减去两个索引不同但值相同的整数
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- Javascript:根据对象的嵌套数组中的值,在数组中查找对象的索引
- 用javascript查询lucene索引
- 使用它更新集合中的嵌套数组's索引
- 嵌套数组中的Ramda索引
- 如何在Ramda.map中访问迭代索引
- 如何查找数组中所有出现的元素的索引(Ramda.js方式)
- 如何使用Ramda通过索引对n数组求和