Антон Спирин, так, а смысл говорить очевидное? Можно и ваше решение было бы откомментировать: объём - восемь строк, использована стрелочная функция, отступы - два пробела.
Алексей, у вас размер int - четыре байта, соответственно, это восемь шестнадцатеричных разрядов. Изначально ваше число было A123 или 0000A123 - старшие нули при выводе не отображаются. Вы выставили старшие биты в единицы - промежуточные нули стали отображаться.
Алексей, ну да, типа того. Только как-то странно вы делаете - задаёте значение для а, а выставляете биты у c, у которого кстати, вообще никакого начального значения нет. В результате получаете мусор, разумеется. Но со старшими четырьмя единицами, да.
ezpy, что-то не улавливаю принцип, по которому подобный массив может быть получен. Имена свойств и их значения - взяты из исходного state.array, количество элементов - из новых данных...
Илья, да ничем. Конечно, могут найтись "эксперты", которые с умным видом пустятся в рассуждения о том, что копирование массива занимает такое-то время, и потому второй вариант медленнее... не думаю, что разница существенна.
Илья, результат - да, будет тем же. Разница в том, что в первом варианте currPath - всегда один и тот же, а во втором - создаётся новый для каждого рекурсивного вызова.
lavezzi1, а как именно обновляете данные? Вижу, выше вы привели пример: chart.load({ json: data }). Судя по этой демке, не всё так просто - надо ещё указывать имена полей, откуда будут браться данные. Как-то так: