Попытка схватиться с 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, 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]]
Я хотел бы карту плитки где матча двигаться coordiantes к другому значению (например, в 1
s на этих coordiantes стал бы -1
)
Я знаю Ramda может увеличить R.map с R.addIndex: const mapWithIndex = R.map(R.addIndex)
так mapWithIndex((i, value) => // do something))
бы получить доступ к индексу каждой плитки, но я уверен, как пройти вниз все аргументы самого низкого уровня
Я даже не могу добавить я и J вместе, пытались что-то вроде:
const mapWithIndex = R.addIndex(R.map)
const addIndices = mapWithIndex((i, row) => mapWithIndex((j, tile) => j + i))
Но вызов этой функции возвращает массив функций.
Что мне не хватает? Любая помощь будет высоко ценится :)
Фантастично, спасибо большое, не знаю, почему я думал, что индексный аргумент пришел первым. Я предполагаю, что мой следующий вопрос: как я могу разбить это на более мелкие единицы, которые могут передавать массив игроков в качестве аргумента, а также i, j? –