Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
¿Hay alguna manera de hacer referencia al lado izquierdo de una expresión desde el lado derecho de una expresión? ¿Se puede implementar en un idioma?

Hace un tiempo me topé con este fragmento de código en los documentos web de MDN :

 function Date(n) { return ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][n%7 || 0]; }

Lo encontré interesante ya que nunca antes había visto una sintaxis de matriz utilizada de esa manera. Claro, he creado matrices sobre la marcha y he hecho algo como [1, 2, 3][0] , pero en este caso con [n%7 || 0] , utiliza n para el índice que queremos y, lo que es más importante, codifica 7 para la longitud de la matriz con el fin de "envolver" la n en la matriz.

Hoy me encontré con esta pregunta y al codificar mi respuesta:

 let sampletext="Home/Student/Hello.txt" let textarr = sampletext.split('/'); let idarray = textarr.map((x, i) => { if(i === 0) return { id: x, parent: '' }; return { id: x, parent: textarr[i - 1] }; }); console.log(idarray);

Me di cuenta de que tenía que hacer el .split por separado, ya que de lo contrario no podría referirme significativamente al arr[i - 1] ya que si tuviera sampletext.split('/').map(...) , no 't tiene una referencia a la matriz que sampletext.split('/') .

Estos dos ejemplos tienen algo en común, que me gustaría llamar "referencia izquierda faltante" y lo que quiero decir con eso es algo como esto:

Ejemplo 1 con "referencia izquierda"

 function Date(n) { return ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][n%left.length || 0]; }

Ejemplo 2 con "referencia izquierda"

 // "mapLeft" magically pulls whatever .split('/') spits out by using "left" keyword internally and passes it to the function passed to the mapLeft let idarray = sampletext.split('/').mapLeft((x, i, left) => { if(i === 0) return { id: x, parent: '' }; return { id: x, parent: left[i - 1] }; });

Entonces, lo que estoy buscando es una forma de obtener básicamente una referencia al lado izquierdo de una expresión, desde el lado derecho de una expresión, la idea es que left sería una palabra reservada similar a this .

No creo que exista nada como esto en JavaScript al menos, pero me pregunto si algún idioma admite dicha sintaxis y si es posible implementar una sintaxis como esta en un idioma.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda