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

139
Vistas
¿Puedo definir una variable como cualquier cadena en una matriz?

Estoy tratando de hacer un aplicador de cambio de sonido en Javascript (solo para practicar, ya que todavía soy un principiante en JavaScript, así que disculpe si estoy cometiendo un error obvio) donde las palabras de un protolenguaje se alimentan a través de varias funciones que aplican cambios de sonido. para generar las palabras en la lengua hija. Esto funciona excepto por un cambio de sonido en particular donde se pierde una vocal corta si la sílaba anterior contiene una sílaba acentuada y si la sílaba siguiente contiene otra vocal (por ejemplo , síg a mes > sígmes ).

He hecho tres matrices para cada sílaba y todas las vocales posibles que pueden aparecer en cada una:

 let stressVowels = ["í", "ý", "é", "á", "ó", "ú", "ī́", "ȳ́", "ḗ", "ā́", "ṓ", "ū́"]; let shortVowels = ["i", "y", "e", "a", "o", "u"]; let vowels = ["i", "y", "e", "a", "o", "u", "ī", "ȳ", "ē", "ā", "ō", "ū"];

Esta es la función que estoy usando para este cambio de sonido:

 function losePostTonicVowel(list) { let stressedVowelValue = 0; let shortVowelValue = 0; let vowelValue = 0; let stressedVowel = ""; let shortVowel = ""; let vowel = ""; stressVowels.forEach(function(syllable) { stressedVowel = syllable; }); shortVowels.forEach(function(syllable) { shortVowel = syllable; }); vowels.forEach(function(syllable) { vowel = syllable; }); list.forEach( function(word) { stressedVowelValue = word.indexOf(stressedVowel); shortVowelValue = word.indexOf(shortVowel); vowelValue = word.indexOf(vowel); if (shortVowelValue == stressedVowelValue + 2 && shortVowelValue == vowelValue - 2) { eleventhArray.push(word.replace(shortVowel, "")) } else { eleventhArray.push(word); } } ) }

Mi idea era usar .indexOf(); para determinar el valor del índice de cada vocal para asegurarse de que todas estuvieran en la posición correcta. Mi principal problema es que en cada .indexOf() he pasado una variable que se refiere a una cadena en cada matriz. Recorre la matriz para que solo devuelva la cadena final de la matriz, pero necesito que se refiera a cualquier cadena de la matriz porque podría representar cualquier vocal enumerada en la matriz. No estoy muy seguro de cómo lograr ese efecto, por lo que cualquier ayuda sería muy apreciada.

También me pregunto si es correcto usar una variable dentro .replace() como lo he hecho en la línea eleventhArray.push(word.replace(shortVowel, "")) .

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