Чего я хочу добиться, так это сделать каждый элемент массива отличным от других.
Итак, если вы представите такой массив:
let myArray = Array(10, 10, 10, 10, 9);
Я хочу выразить еготакой алгоритм:
- Взять первый элемент массива (10) (index = 0).
- проверить, есть ли элемент в массиве с таким же значением.да, есть - с индексом 1. если нет, проверьте следующий элемент ...
- измените myArray [0] на myArray [0] + 1
- измените myArray [1] на myArray [1] - 1
- return myArray
Теперь массив выглядит следующим образом:
myArray = Array(11, 9, 10, 10, 9)
Теперь он запускается снова, а следующие шаги возвращают такой массив:
myArray = Array(11, 10, 10, 10, 8)
myArray = Array(11, 11, 9, 10, 8)
myArray = Array(12, 10, 9, 10, 8)
myArray = Array(12, 11, 9, 8, 8)
myArray = Array(12, 11, 10, 9, 7)
Теперь, поскольку существуют только уникальные значения, он заканчивается.Это легко сделать с помощью циклов while и for, но как я могу сделать это с помощью функционального программирования ES6?
K.