Ejemplo de cómo evitar repetir tu código

แชร์
ฝัง

ความคิดเห็น • 394

  • @JustAstra-Lx
    @JustAstra-Lx หลายเดือนก่อน +114

    Wow, que bien se siente entender algo que hace 1 mes no entendia, por fin entiendo los arrays 😂

    • @personal5882
      @personal5882 หลายเดือนก่อน +1

      Jaja me ha pasado últimamente varias veces, se siente muy gratificante ... Y al mismo tiempo uno piensa, "¿en esta tontería, invertí días de mi vida?"

    • @erosensei7968
      @erosensei7968 23 วันที่ผ่านมา

      👶

    • @Ramldr
      @Ramldr 16 วันที่ผ่านมา

      X2

    • @bennymunoz9130
      @bennymunoz9130 15 วันที่ผ่านมา +1

      ami tambien
      hace 1 mes estoy seguro que no habria entendido pero entendi los 3 (y el tercero ni lo habria echo solo lo entendi por como voy escribiendo xDD)

  • @rovixen8668
    @rovixen8668 ปีที่แล้ว +414

    para evitar el harcodeo, podrias hacer if(n=days.length) asi no tienes que cambiar la condicion si es que agregas mas entradas al array

    • @vidamrr
      @vidamrr  ปีที่แล้ว +292

      Es correcto, varios me han hecho esa recomendación, el tema es que para efectos de este ejercicio no creo que en un futuro cercano se agreguen más días a la semana 😂

    • @rovixen8668
      @rovixen8668 ปีที่แล้ว +57

      @@vidamrr bueno cierto 😐 yo digo nomas pa que los novatos no se acostumbren a fixear los limites 🥴

    • @rovixen8668
      @rovixen8668 ปีที่แล้ว +7

      @federico fernandez correcto, hay que siempre estar atento a esos detalles

    • @dpeter1987
      @dpeter1987 ปีที่แล้ว +9

      No creo que inventen más días a la semana ohhhh

    • @jos1327
      @jos1327 ปีที่แล้ว +5

      que significa eso bro, voy a empezar la u y voy a seguir programacion... yo entiendo ese mensaje algo asi: si los numeros naturales menores a cero.... los numeros naturales mayores a ... lo demas no entiendo xd

  • @_Holy_Lance_
    @_Holy_Lance_ 2 หลายเดือนก่อน +18

    Depende el lenguaje también, en Java el switch es más performante porque hace el salto al puntero al string a nivel código binario saltándose desreferenciar el puntero al arreglo de String, sigue estando en O(1), pero de son menos pasos. Un abrazo.

    • @pablodm9
      @pablodm9 2 หลายเดือนก่อน +3

      no creo que 7 strings vayan a ser un daño tremendo al performance. Hay que saber cuando vale la pensa optimizar

    • @_Holy_Lance_
      @_Holy_Lance_ 2 หลายเดือนก่อน +3

      @@pablodm9 Concuerdo, es un gran 'depende'. Pero como siempre tiran en los foros, la que va (cuando vale la pena optimizar) es hacer profiling, ver qué tarda y porqué, optimizar, profiling de nuevo y (pivotando si fue más lento cosa que puede pasar con optimizaciones muy finas, para) seguir así hasta que funcione como se espera.

  • @kevinbar98
    @kevinbar98 ปีที่แล้ว +8

    La solución es correcta, pero a mí gusto lo haría implementando un diccionario de esta manera { 1:"lunes", 2:"martes"...}, Y usando la construcción basica de if o con operador ternario y sale un bonito one line code, pero complejo para los que no están acostumbrados a ese tipo de códigos "incomprensibles"

    • @darvil82
      @darvil82 ปีที่แล้ว +2

      En JavaScript termina siendo exactamente lo mismo que un array, excepto que el índice empieza por 0. Por lo tanto te ahorras escribir cada clave.

    • @EliukBlau
      @EliukBlau 2 หลายเดือนก่อน +4

      Si, se ahorra de escribir la clave, pero las estructuras de datos tienen semántica. Significan algo. Tener el valor de entrada y el valor de salida en una estructura tipo mapa, puede ayudar a tener una semántica unificada en esos datos. Imagina que de pronto, por cualquier motivo, piden adicionalmente que el valor 99 devuelva el día viernes. En el mapa bastaría agregar una nueva clave y ya. Mientras que para el array habría que agregar condicionales, o rellenar espacios vacíos en el array hasta el 99, etc.
      En general, siempre es mejor que las propias estructuras de datos mapeen también la lógica (en lo posible), y el código imperativo solo extraiga los datos de esas estructuras, sin lógicas extras.

    • @rodrigodamianorlando7268
      @rodrigodamianorlando7268 2 หลายเดือนก่อน +2

      Los diccionarios son los más en cualquier leguaje y si los unís con enumeraciones, tenes código super limpio y entendible.

  • @dairondanilo6067
    @dairondanilo6067 ปีที่แล้ว +116

    No es mejor crear un objeto donde las Keys son números y los values los días de la semana ?

    • @HEADEAR4U
      @HEADEAR4U 8 หลายเดือนก่อน +16

      Eso gasta mucha memoria

    •  6 หลายเดือนก่อน

      Un mapa perro ?

    • @EliukBlau
      @EliukBlau 2 หลายเดือนก่อน +11

      "mucha memoria" para un mapa que, en este caso particular, tiene a lo más 7 elementos y que siempre va a ser pasado por referencia, nunca serán copias por valor... No hay que optimizar prematuramente. En este caso el gasto en memoria es mínimo.

    • @daniloespinozapino4865
      @daniloespinozapino4865 หลายเดือนก่อน +6

      ​@@HEADEAR4U es irrelevante para pequeñas cantidades de datos, el mejor código en estos casos es el código más legible

    • @AlvaroALorite
      @AlvaroALorite หลายเดือนก่อน +2

      ​@@EliukBlau más aún cuando las alternativas, precisamente, gastan igual o más espacio en memoria al declarar los arrays, o los valores de las variables...

  • @miguelangeladornaruiz9257
    @miguelangeladornaruiz9257 ปีที่แล้ว +384

    Se puede hacer aún más corto:
    try {
    return days[n - 1]
    } catch {
    throw new Error("Out of range")
    }

    • @Rudxain
      @Rudxain ปีที่แล้ว +82

      Depende del lenguaje. En Javascript, OutOfBounds no es un error, solo `undefined`

    • @damistard4444
      @damistard4444 ปีที่แล้ว +3

      Ok

    • @jimfreecss6391
      @jimfreecss6391 ปีที่แล้ว +2

      Que lenguaje es ese ? 👀

    • @gabrieldelgado3513
      @gabrieldelgado3513 ปีที่แล้ว +7

      @@jimfreecss6391 JavaScript

    • @JmR.22
      @JmR.22 ปีที่แล้ว +1

      @Bbzhitto Games comparte la idea por favor

  • @Cesar.AugustoS
    @Cesar.AugustoS ปีที่แล้ว +96

    Depende del lenguaje pero JS haría:
    function getWeekday(num) {
    const weekDays = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
    return weekDays[num] || new Error('Invalid weekday');
    }

    • @rubiusoficial
      @rubiusoficial ปีที่แล้ว +27

      Buena, pero si pones como parámetro 1, un humano esperaría que le retorne lunes, pero como los índices empiezan en 0 en javascript va a retornar martes así que yo pondría
      return weekDays[num - 1]

    • @Cesar.AugustoS
      @Cesar.AugustoS ปีที่แล้ว +5

      @@rubiusoficial oh sí, olvidé poner el - 1 😅

    • @emmanuelfernandochimilpach8190
      @emmanuelfernandochimilpach8190 ปีที่แล้ว

      Y en phyton?

    • @josequispereyes347
      @josequispereyes347 ปีที่แล้ว +3

      @@emmanuelfernandochimilpach8190
      def week(day):
      dicc={0:"Lunes",1:"Martes",2:"Miércoles",3:"Jueves",4:"Viernes",5:"Sábado",6:"Domingo"}
      if day 6:
      return "Error"
      else:
      return dicc[day]
      print(week(0))

    • @zeacon6463
      @zeacon6463 ปีที่แล้ว

      const days =
      {lunes: () =>{todo1},
      martes: ()=>{todo2},
      ...
      }
      days["lunes"]()

  • @ivanjuarez4920
    @ivanjuarez4920 8 ชั่วโมงที่ผ่านมา

    Que gran ejemplo 👏🏼

  • @ElTibuGameplays
    @ElTibuGameplays ปีที่แล้ว +2

    Para uno que va aprendiendo (como yo) es mejor aprenderse switch, pero ahora ya para ahorrar y más simplicidad, como lo pusiste al ultimo

  • @pelcox1681
    @pelcox1681 ปีที่แล้ว +1

    Hermoso ejemplo!!

  • @leonardotroya2084
    @leonardotroya2084 หลายเดือนก่อน

    excelente consejo, actulmente trabajo en optimizar mis programas, algo que he notado es la base de datos, sea una lista, tupla o diccionario, dependiendo de esto el programa puede volverse mas optimo

  • @basketaom5481
    @basketaom5481 22 วันที่ผ่านมา

    Gran ejemplo. Gracias

  • @IronSh4dow
    @IronSh4dow ปีที่แล้ว

    Excelente, gracias por compartir.

  • @gerardorivasdelgado2473
    @gerardorivasdelgado2473 ปีที่แล้ว +1

    Wow, justamente estoy viendo patrones de diseño

  • @g0rbachov
    @g0rbachov ปีที่แล้ว +1

    No es necesario lanzar una excepción si está fuera de range... si el usuario pasa el valor 8, devuelve "Lunes" usando el operador %... return (n%7)-1

    • @EliukBlau
      @EliukBlau 2 หลายเดือนก่อน +3

      Depende de la semántica de la función. ¿Tiene sentido pasar, por ejemplo, 99, y que me siga devolviendo un día de la semana? La semántica de las funciones y sus parámetros siempre es contextual respecto a si, en su uso, tiene sentido ocuparlas de tal o cuál manera.

  • @jmz-dev-td6ko
    @jmz-dev-td6ko 7 หลายเดือนก่อน

    Muy bueno! Gracias!

  • @javiercastromarchant3906
    @javiercastromarchant3906 ปีที่แล้ว +1

    Se puede hacer aún más eficiente con un diccionario clave valor, así vas directo a la key y no tienes que hacer un loop 🔁

    • @vidamrr
      @vidamrr  ปีที่แล้ว

      si, tambien es otra opcion, aunque igual el acceso es O(1) tanto para el diccionario como para el arreglo si se sabe el indice, sino el diccionario es mejor

    • @watpo__5440
      @watpo__5440 หลายเดือนก่อน +1

      ¿Dónde está el loop?

  • @julianelsensei
    @julianelsensei ปีที่แล้ว +1

    Con map también se simplificará

  • @robledo.developer
    @robledo.developer ปีที่แล้ว

    Buen video!

  • @FerDom
    @FerDom ปีที่แล้ว

    que programa estás usando para señarar con tu cursor se ve útil.
    buen video gracias

  • @marcogarcia2910
    @marcogarcia2910 ปีที่แล้ว +10

    Yo me voy con el switch, creo que es la opción más entendible además otros porgramadores tocaran ese código y pues tiene que ser entendible

  • @leonoben.
    @leonoben. ปีที่แล้ว

    muchas gracias
    :)

  • @MariaSCarvajal
    @MariaSCarvajal หลายเดือนก่อน

    En mi opinión sacrificar legibilidad por no repetir líneas hace el código menos mantenible porque se convierte en código que da miedo tocar

    • @alejandrobarraza646
      @alejandrobarraza646 หลายเดือนก่อน

      Pero es fácil de entender. Solo debe estar bien comentado

  • @andresdavidpena9212
    @andresdavidpena9212 หลายเดือนก่อน

    una forma limpia y sencilla seria algo como esto: weekendDays = {1: 'lunes', 2: 'martes'}
    weekendDays[day] // for example weekendDays[1]

  • @VladAndKeys
    @VladAndKeys ปีที่แล้ว

    Muy buena que programa usa para marcar loss rectángulos verdes?

  • @AdrianRojas
    @AdrianRojas ปีที่แล้ว

    Tambien se puede usar un patron strtategy.

  • @CarlosRodriguez-ww1fv
    @CarlosRodriguez-ww1fv 26 วันที่ผ่านมา

    en c# podrias usar un diccionario y hacerle un out var para sacar el dia de la semana segun su id

  • @Anxous-cy4ve
    @Anxous-cy4ve วันที่ผ่านมา

    Tengo una duda, hace poco hice un piedra, papel y tijeras y me "repeti" como en el ejemplo 1, como deberia haber aplicado esto,¿ haciendo una lista?

  • @manuelcordovadelacruz
    @manuelcordovadelacruz 20 วันที่ผ่านมา

    yo con else en la mochila:

  • @higherstr
    @higherstr ปีที่แล้ว +56

    Lo malo es que si no tienes suficiente conocimiento se te dificulta entenderlo

    • @MatroxSe
      @MatroxSe ปีที่แล้ว +25

      Hay que seguir estudiando. Antes no era capaz de entender eso, ahora tampoco. Nah broma, ahora con el tiempo llevo de 2018 en el mundo de la programación y entiendo todo. Incluso se puede hacer aún más corto como dice un comentario de más arriba. El tiempo de estudio da sus frutos, ánimos!!

    • @zadkielgd5137
      @zadkielgd5137 ปีที่แล้ว +1

      @@MatroxSe donde aprendiste tu?

    • @MatroxSe
      @MatroxSe ปีที่แล้ว +5

      @@zadkielgd5137 La universidad me dió la base. Pero todo lo demás lo fui descubriendo. Por ejemplo yo me quise dedicar a ser FullStack y busqué en internet que era lo que necesitaba para formarme como FullStack y ahí fuí aprendiendo ciertos lenguajes

    • @ArmandoPineda4
      @ArmandoPineda4 ปีที่แล้ว

      Soy

    • @NachitenRemix
      @NachitenRemix 11 หลายเดือนก่อน +2

      Es bastante sencillo creo. Si no entendes literalmente un array y como acceder a él todavia te falta aprender. Es algo super basico.
      No lo digo de malo, es la verdad.

  • @viveroz
    @viveroz ปีที่แล้ว +2

    A veces es mejor tener mas líneas de codigo y que cualquiera pueda entenderlo a escribir cosas que en una semana ni tu sabes que hacian xD

    • @filosofiagaming6775
      @filosofiagaming6775 ปีที่แล้ว

      Creo que por eso existen los comentarios, ademas es una opcion que agrega un POQUITO de seguridad a tu programa, mayor complejidad, mayor nivel de conocimiento se requiere para descifrarlo, asi funciona la base de un hackeo

  • @friedrichvillegasmurillo9775
    @friedrichvillegasmurillo9775 หลายเดือนก่อน

    evitaría el if y le haría funcional directamente

  • @j.kstudios1
    @j.kstudios1 8 วันที่ผ่านมา

    Ta chido 😃 👍

  • @ErikCiau
    @ErikCiau ปีที่แล้ว

    ¿Por que la necesidad de recorrer un array? creo que es mas simple y mantenible realizar un diccionario con ello
    const getDay = (day) => {
    const days = { 0: "Lunes", 1: "Martes", 2: "Miercoles", 3: "Jueves", 4: "Viernes", 5: "Sabado", 6: "Domingo" }
    return days[day] ?? "Out of the range"
    }
    Así si por x o y razón lunes ya no es 0 sino 1 o que ya no sea por numero sino por sus primeras 3 letras es sencillo cambiarle, al final siempre tendrás el mismo output

  • @TheWorstRPGChannel
    @TheWorstRPGChannel ปีที่แล้ว

    La próxima vez empiezo a escribirlo medio mal y le pregunto a ChatGPT.

  • @MarceloAlarcon-tx6qe
    @MarceloAlarcon-tx6qe 11 หลายเดือนก่อน

    Me parece que un objeto se vería más claro. Igual con un array se ve bien amigo felicidades

  • @alexdevorigin1
    @alexdevorigin1 10 หลายเดือนก่อน

    Una vez le puse esto a unos cuantos dev y no supieron incluso hasta se puede hacer de otra manera con poo y if en foreach

  • @krascheninnikoviam
    @krascheninnikoviam ปีที่แล้ว

    Pero y si cada día tendrá un texto diferente ¿El if sería necesario?

  • @walterdavila8805
    @walterdavila8805 หลายเดือนก่อน

    mejor un array de string y solo obtienes el dia por el indice, XDD

  • @laxdermax
    @laxdermax ปีที่แล้ว +1

    Agregar complejidad ciclomatica donde no se necesita?

    • @DonTaldo
      @DonTaldo ปีที่แล้ว

      xd en donde?

  • @amauryreyesbetances3639
    @amauryreyesbetances3639 27 วันที่ผ่านมา

    Iba a decir que simplmente usar un enum xd.

  • @elmetano
    @elmetano ปีที่แล้ว +15

    Prefiero lo simple, aunque a veces sea más largo, pues alguien más en su momento deberá tocar el código

    • @imandrezz3399
      @imandrezz3399 ปีที่แล้ว +3

      Pero lo simple no siempre es eficiente

    • @xr8102
      @xr8102 ปีที่แล้ว +7

      @@imandrezz3399 Esto tampoco es eficiente para todos los casos, todo tiene un costo, usar varios if-elif-else cuesta menos memoria. Si trabajas con microprocesadores es mejor usar ese código largo a utilizar la otra opción.

    • @miketochan
      @miketochan ปีที่แล้ว +1

      @@xr8102 Justo es lo que estuve viendo en unos retos de una página. Me esforcé en hacer código con las nuevas prestaciones del lenguaje y resultaban muy cositas en recursos y en tiempo. Pero cuando utilizaba una programación tipo lenguaje C (todo hecho a mano) resultaba más rápido y eficiente. Me pareció muy curioso eso porque yo creía que todas las funciones nuevas y especiales estaba bien optimizadas.

    • @YayoArellano
      @YayoArellano ปีที่แล้ว +1

      @@imandrezz3399 y no siempre lo mas dificil es lo mas eficiente

    • @nakarukatoshi
      @nakarukatoshi ปีที่แล้ว +2

      @@imandrezz3399 Precisamente en este caso el Switch es tanto lo más simple como lo más eficiente 😅

  • @rakzodya
    @rakzodya ปีที่แล้ว

    buena esa.

  • @EnBuenChileno.Gaming
    @EnBuenChileno.Gaming 10 หลายเดือนก่อน +4

    Buena idea gracias!! En mi caso prefiero las estructuras mas primitivas como un switch o un if. Me resulta mas agradable de trabajar y de retomar.

  • @williamscastaneda6661
    @williamscastaneda6661 2 หลายเดือนก่อน +1

    En todo caso mejor me armo un diccionario

  • @cesarferrandopastor7901
    @cesarferrandopastor7901 ปีที่แล้ว +1

    Como consumiría más Ram? Con el array o con un if o Switch ?

    • @vidamrr
      @vidamrr  ปีที่แล้ว +1

      De ninguna forma, a nivel de eficiencia ninguno es más rápido o más lento, porque el acceso es bigO(1)

  • @user-vs9qz6ro7z
    @user-vs9qz6ro7z 6 ชั่วโมงที่ผ่านมา

    Me quedo con mi switch case

  • @jhonoquendo6163
    @jhonoquendo6163 ปีที่แล้ว

    En typescript la otra opción sería usar un enum.

  • @xDemorn
    @xDemorn ปีที่แล้ว +2

    como se llama el tipo de fuente que usas? esta bonito

    • @arceprog
      @arceprog ปีที่แล้ว

      Es : jetbrains mono

  • @Dutano876
    @Dutano876 ปีที่แล้ว +1

    Todavía no he estudiado JavaScript pero, no es aún mejor idea hacer un diccionario?

    • @creepermanpro
      @creepermanpro ปีที่แล้ว

      tecnicamente ya el array esta asociando numeros a cada valor (como lo hacen las tablas de hash), en este caso no hay necesidad de diccionario, a menos que necesites que te devuelvan los dias de la semana asociado a otros valores string.

  • @chicharrero3884
    @chicharrero3884 ปีที่แล้ว +8

    No lo habia pensado, gran tip

    • @dirknash4113
      @dirknash4113 ปีที่แล้ว +5

      No, realmente no lo es. Es muy mala.
      Esta solución es limpia, pero es completamente ineficiente para el compilador.
      Es mucho mejor, definir un objeto constante del tipo:
      const week = {
      "1": "lunes",
      "2": "martes",
      ....
      }
      Y luego acceder así al objeto:
      week["1"]
      No declaras un array, no se reserva memoria de forma dinámica, no se realizan cálculos como ese n-1,
      No necesitas un try-catch que es súper ineficiente y no puedes obtener fallo al acceder , ya que retorna null si le pasas un valor inexistente.
      No os fíeis mucho de estos gurús de la programación que salen ahora por TH-cam porque de un desarrollador a un ingeniero hay un siglo de dedicación y análisis.
      Y ya porque no has traducido a ensamblador ambos códigos, si no verías una diferencia brutal.
      La mejor opción es un switch sin ninguna duda. Es casi igual de eficiente que los if encadenados y es más limpio que esos ifs.

    •  ปีที่แล้ว +1

      Es muy mala idea. Muy ineficiente

    • @dirknash4113
      @dirknash4113 ปีที่แล้ว

      @ correcto

    • @puedeserpa2939
      @puedeserpa2939 ปีที่แล้ว

      Un potip

  • @adanyanez8562
    @adanyanez8562 ปีที่แล้ว

    Se puede solo con un objeto pasas el valor al prop y que regrese el value

  • @iNavn0
    @iNavn0 ปีที่แล้ว

    Cómo que la variable días es Let y no Const pues cuántos días más quedan por descubrir??

  • @mandresblac
    @mandresblac ปีที่แล้ว

    La condicion del if, que es: n < 1 || n > 7
    no se podria reemplazar por:
    n < days.length || n > days.length
    ??.

    • @JuanPabloSolorzanoMendoza
      @JuanPabloSolorzanoMendoza ปีที่แล้ว

      no, si lo haces la condición se cumple con cualquier número positivo que pases en "n" al menos que sea igual al de la longitud del array

  • @derlisruizdiaz
    @derlisruizdiaz ปีที่แล้ว

    Colocarlo en un objeto también sería genial

  • @jaimepanchito1999
    @jaimepanchito1999 ปีที่แล้ว

    Para eso estan los enum o dict, pero el ejemplo en si esta bien

  • @wilsoncastrillon5383
    @wilsoncastrillon5383 ปีที่แล้ว

    Buena

  • @surflaweb
    @surflaweb ปีที่แล้ว

    Un hashmap fixed

  • @JoelPasapera
    @JoelPasapera ปีที่แล้ว

    Puedes hacerlo pero en python ?

  • @MarcelBK201
    @MarcelBK201 ปีที่แล้ว

    He hecho alguna vez eso, ni idea que se llamaba así

  • @MM-fc7ih
    @MM-fc7ih ปีที่แล้ว

    ¿No es mejor poner la array dentro de la función?

  • @arceprog
    @arceprog ปีที่แล้ว

    ¿como se llama ese mouse que usas ? Quiero dar una presentación y estaria bueno saberlo jaja

    • @vidamrr
      @vidamrr  ปีที่แล้ว

      Es una app que hice especificamente para eso pero no esta publicada ni nada, si tienes WIndows me parece que hay una app para eso

  • @HebiRoom
    @HebiRoom 6 หลายเดือนก่อน

    Don't you have dictionaries in JS?

  • @AlexisBleeding4
    @AlexisBleeding4 ปีที่แล้ว +4

    Yo programo en C# lo quería es tener un diccionario Key Days, Value lunes martes etc. y asi lo manejas :)

    • @DavidPerez-Reostatico
      @DavidPerez-Reostatico ปีที่แล้ว +3

      Estaba pensando en un Enum, pero supongo que por detrás es un diccionario
      Bien visto broder

    • @justinlu5730
      @justinlu5730 ปีที่แล้ว +1

      @@DavidPerez-Reostatico Justo para esos casos donde se requiere una determinada cantidad de valores constantes se utiliza el Enum, buen pensado. 👍

  • @ibeliuso
    @ibeliuso ปีที่แล้ว +19

    Un map, con clave-valor seria aun mas eficiente

    • @carlosduque5174
      @carlosduque5174 ปีที่แล้ว +3

      No realmente. Acceder una llave en un mapa tiene coste O(1) y acceder un elemento en un array utilizando un indice también tiene un costo de O(1).

    • @darvil82
      @darvil82 ปีที่แล้ว

      En cuanto a eficiencia, en JavaScript es exactamente igual de rápido. En otros lenguajes, la diferencia de tiempo acceso entre un valor de array y un hashmap es abismal (el array es obviamente más rápido)

  • @lalosporsche
    @lalosporsche 6 หลายเดือนก่อน +1

    se podría usar un Enum?

    • @pipetdotjs
      @pipetdotjs หลายเดือนก่อน

      claro que sí

  • @AlvaroALorite
    @AlvaroALorite หลายเดือนก่อน

    El código switch era más eficiente. Y de todas maneras con un enum (const) es mejor (Más legible, menos código, limita el rango de la variable porque viene oredefinido...), no?

  • @miltongutierrez3747
    @miltongutierrez3747 ปีที่แล้ว

    Yo quitaría el for y solo accedería al Array por su index

  • @alvarito99dark
    @alvarito99dark ปีที่แล้ว

    Enumerados llorando en la esquina viendo que no han sido usados.

  • @mariocolon7782
    @mariocolon7782 ปีที่แล้ว

    Que lenguaje es? Saludos.

  • @jairpro1684
    @jairpro1684 ปีที่แล้ว +1

    *El caballo se llama viernes*

  • @noobsitocph4292
    @noobsitocph4292 ปีที่แล้ว

    Eso lo estoy viendo en mi clase de informática

  • @AlvaroVR8
    @AlvaroVR8 ปีที่แล้ว

    Más fácil con un diccionario, lo haces en una linea.

  • @juanjoseramos3492
    @juanjoseramos3492 ปีที่แล้ว

    Quien te conoce Array jajaja buen tip

  • @iJuan12i
    @iJuan12i ปีที่แล้ว +1

    Es mejor solo usar un objeto

  • @puchiflito1328
    @puchiflito1328 ปีที่แล้ว

    Para que sirve la dos barra verticales?? Es para separar o para que?? Primera ves que veo

  • @tulymano1
    @tulymano1 ปีที่แล้ว

    factory + strategy para n casos y diferentes logicas

  • @Powee
    @Powee ปีที่แล้ว

    Disculpa, sabes como puedo hacer eso en c++

  • @Will.I.Am50
    @Will.I.Am50 ปีที่แล้ว

    O mejor aún, un mapa donde la clave es un número y el valor es el día

  • @raulgloco
    @raulgloco ปีที่แล้ว

    Un mapita (objeto).. a mi parecer sería chido

    • @Godeh117
      @Godeh117 ปีที่แล้ว

      Si usas índices consecutivos, no hace falta un objeto, en ese caso el array ya tiene los índices.

  • @dragayt543
    @dragayt543 ปีที่แล้ว

    Tengo una pregunta. ¿No sería mejor crear una función de flecha para escribir menos código y así retornar el mismo resultado?

    • @nestorrente
      @nestorrente ปีที่แล้ว +1

      Realmente escribir menos código no siempre es mejor. Es cierto que en JS las constantes igualadas a una arrow function son bastante estándar, pero yo sigo prefiriendo utilizar named functions en esos casos. Mi argumento es que el código debe describirse a sí mismo de la mejor forma posible, y "function getDay(...)" cumple su trabajo ("esta es la función getDay"), mientras que "const getDays = (...)" es como decir "esta es la constante getDay, cuyo valor es una función". Para mi gusto, descriptivamente, es menos directo.

  • @alekvga
    @alekvga ปีที่แล้ว

    También puedes crear un objeto
    function getDay(n){
    const map={
    "1":"lunes",
    "2":"martes",
    //Así para cada día
    }
    return map[n] ?? 'N/A'
    }

  • @victorhugovanegascarvajal7532
    @victorhugovanegascarvajal7532 ปีที่แล้ว

    Grcias por tic

  • @jorgefernandez559
    @jorgefernandez559 ปีที่แล้ว +1

    tienes un error en el ciclo, tiene que ser mayor a 0 no a 1

  • @brunot.a.6151
    @brunot.a.6151 ปีที่แล้ว

    Y que tal usando el método map? También es posible ?

  • @4lfredEscorpi
    @4lfredEscorpi ปีที่แล้ว

    Simplicidad vs eficiencia

  • @WolffOner
    @WolffOner ปีที่แล้ว

    Usando un objeto en vez de switch y if statement tambien serviria?

  • @andresgomez4042
    @andresgomez4042 ปีที่แล้ว +24

    Bro te doy un consejo, no respondas mensajes de haters, literalmente cada uno programa como se canta el viento del culo... Y no te rebajes al nivel de la gente que te dice que está mal, mal está si no funciona... Si no, importa poco y nada como esté hecho un código... Si vas a ser creador de contenido ocupate de buscar comentarios que aporten al canal, porque aunque no lo creas, das mucha más confianza y seriedad si ignoras a los bobos que se creen Anonymous en TH-cam. Saludos

    • @vidamrr
      @vidamrr  ปีที่แล้ว +2

      Exacto, gracias Andrés 👍🏻👍🏻

    • @4lfredEscorpi
      @4lfredEscorpi ปีที่แล้ว

      @Andrés lo que dices de que cada uno programa como le venga es cierto si son para proyectos propios que nunca se hará pública . Si el hace contenido pues por cosas como estás ya se ve la calidad de profesional que es . Por qué cuando al futuro programes para el exterior y empresas de renombre , estos usan reglas y más cosas para el código . Y si pues uno hace lo que quiere no podrá adaptarse a esos estándares . Y pues el que hizo este video aclara sobre la eficiencia yo creo q con eso nadie diría nada verdad .

    • @NachitenRemix
      @NachitenRemix 11 หลายเดือนก่อน +3

      "Si no, importa poco y nada como esté hecho un código".
      No es cierto, si vas a trabajar de esto si es importantisima la calidad de codigo. Garantiza mantenibilidad y extensibilidad a largo plazo. Si solo te de dedicas a aprender o hacer proyectos propios lo entiendo, pero para casos reales donde tendrás que interactuar con compañeros te recomiendo darle prioridad a la calidad. Es algo que es medible y objetivo, hay cosas que son subjetivas segun opinion personal pero hay muchas otras que no.

    • @xvimnt
      @xvimnt หลายเดือนก่อน

      No amigo, siempre se puede mejorar todo y no necesariamente te hacen un hater, es comunicación efectiva

  • @AventureroMexa
    @AventureroMexa ปีที่แล้ว +16

    Creo que sería mejor para este caso manejarlo como un objeto
    const dias = {
    1 : “Lunes”,
    2: “Martes”,
    3: “Miércoles”,
    }
    console.log(dias[2]) // Martes
    Es más legible y escalable

    • @vidamrr
      @vidamrr  ปีที่แล้ว +4

      Cuando un objeto tiene de clave valores numéricos consecutivos es mejor cambiarlo a un arreglo, pero en general funciona igual si declaras un objeto así, no es mas elegible

    • @AventureroMexa
      @AventureroMexa ปีที่แล้ว

      @@vidamrrde esta manera que planteó, simplificas al no tener que usar una fórmula para obtener el índice correcto.

    • @randomprocastinator7890
      @randomprocastinator7890 ปีที่แล้ว +3

      @@AventureroMexa creo que no tiene mucho sentido lo que dices, cuando usas por ejemplo los meses del año, sería mejor usar el arreglo o una tupla en caso que uses Python, y hacer lo que hace en este video, la fórmula se usa simplemente porque los índices no empiezan de 1, si no desde cero, por eso el return n-1

    • @AventureroMexa
      @AventureroMexa ปีที่แล้ว

      @@randomprocastinator7890 yo se que los índices empiezan en cero por eso digo que ponerle un parche para que cuadre no es la mejor práctica, pero sabré yo, saludos

    • @deketh73
      @deketh73 ปีที่แล้ว +4

      tiene más sentido un array, es redundante usar números solo porque no quieres poner -1

  • @Karakas29
    @Karakas29 ปีที่แล้ว +1

    Porque devuelve n-1

  • @edsonramirez2580
    @edsonramirez2580 ปีที่แล้ว

    interesante pero aveces la mayoria solo quiere simplificar codigo para tener menos lineas y no piensan en el costo de procesamiento ya eso depende para q se usa 😳

  • @otakteamproductions9239
    @otakteamproductions9239 10 หลายเดือนก่อน

    Es absurdo hacer arreglos por cada caso, ya que eso solo aumenta la "consulta". Bien puedes usar lo mas basico que es return true y el valor. Otro mas complejo y embebido es hacer arrays o class que se podra acceder a cualquier script y en cualquier codigo.
    public enum DiaSemana {
    LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SÁBADO, DOMINGO
    }
    class Program {
    static void Main() {
    int indice = 3;
    string texto = (Enum.IsDefined(typeof(DiaSemana), indice - 1))
    ? $"Hoy es {(DiaSemana)(indice - 1)}."
    : "Índice fuera de rango.";
    Console.WriteLine(texto);
    }
    }

  • @DaRkZThECriTiC
    @DaRkZThECriTiC หลายเดือนก่อน

    Yo he visto esos códigos horribles a mis compañeros con laptops para ingenieros de la nasa XD, y yo tenía un código mejorcito en mi i3 de 3ra generación de hace 11 años creo XD

  • @marioluque4786
    @marioluque4786 ปีที่แล้ว

    Yo haría un map. Y retorno map[n] ?? 'Out of range'

  • @jesusv353
    @jesusv353 5 วันที่ผ่านมา

    Y porque no un mapa o set ?

  • @jovas951
    @jovas951 ปีที่แล้ว

    ... luego refactorizas y usas un Map :)

  • @bryandc3672
    @bryandc3672 ปีที่แล้ว

    Recursividad 🤑

  • @angelodangelo6711
    @angelodangelo6711 ปีที่แล้ว +1

    Eso solo complica su mantenimiento y dificulta su lectura

    • @vidamrr
      @vidamrr  ปีที่แล้ว +1

      Interesante, por qué es difícil de mantener? No es como que mañana agreguen otro mes al año

  • @Ghousz
    @Ghousz ปีที่แล้ว

    Esta es otra opción un poco más fácil:
    semana = ["Lunes","Martes","Miércoles","Jueves","Viernes"]
    numero = int(input("Ingrese un número del 1 al 5: "))
    resultado = semana.pop(numero-1)
    print(resultado)

    • @vidamrr
      @vidamrr  ปีที่แล้ว +1

      O sea si está bien pero el escenario no está enfocado en ver cómo puedes obtener el día de la semana jajaja, sino cómo puedes simplificar la sintaxis. Ya dependiendo de cada escenario en las apps es que lo acomodas a cómo más te guste 👍🏻

    • @Ghousz
      @Ghousz ปีที่แล้ว

      @@vidamrr Ah vale vale jaja gracias

  • @aquavxi6431
    @aquavxi6431 ปีที่แล้ว +1

    Buen video! También consideraría crear una clase Enum con cada uno de los días y una función que retorne el name del valueOf del número indicado por parámetro. Sin olvidar el catch!