El siguiente código se ejecutará correctamente en el sandbox:
const concatR = function(arr, ...args) { let arr2 = (unnest = elem => !Array.isArray(elem) ? elem : elem.flatMap(unnest))(args); return arr.concat(arr2); }; let x2 = concatR([1,2,3], 'hello', 'new', [1,2,3], [1,2,[3,4]]); console.log(x2);Sin embargo, en mi Código VS con Node.js v14.18.0, da un error:
ReferenceError: unnest no está definido
¿Hay alguna característica que (creo) permita que una definición de variable pase una función de flecha con nombre, o qué característica existe en el entorno limitado de código que no está en mi máquina local? Localmente, tengo que separar las declaraciones:
const concatR = function(arr, ...args) { const unnest = elem => !Array.isArray(elem) ? elem : elem.flatMap(unnest); let arr2 = unnest(args); return arr.concat(arr2); }; let x2 = concatR([1,2,3], 'hello', 'new', [1,2,3], [1,2,[3,4]]); console.log(x2);