Beautiful Array LeetCode solution in JavaScript
1var beautifulArray = function (n) {2const EVEN = 1;3const ODD = 2;4let helper = (arr, flag) => {5if (arr.length <= 2) return arr;6let even, odd;7if (flag == ODD) arr = arr.map((el) => (el + 1) / 2);8else if (flag == EVEN) arr = arr.map((el) => el / 2);9even = helper(10arr.filter((el) => el % 2 === 0),11EVEN12);13odd = helper(14arr.filter((el) => el % 2 !== 0),15ODD16);17arr = even.concat(odd);18if (flag == ODD) arr = arr.map((el) => el * 2 - 1);19else if (flag == EVEN) arr = arr.map((el) => el * 2);20return arr;21};22let arr = new Array(n);23for (let i = 0; i < n; i++) arr[i] = i + 1;24return helper(arr);25};