Detecta si Array tiene elementos duplicados en JavaScript

Поделиться
HTML-код
  • Опубликовано: 14 янв 2025

Комментарии • 134

  • @TheLexuguin
    @TheLexuguin 2 года назад +129

    Si hablamos de entrevistas técnicas, me da a mi que es de las típicas soluciones en las que te felicitan por ser creativo pero que lo soluciones sin truquitos

    • @aquirozca
      @aquirozca 2 года назад +19

      Si conoces bien el lenguaje este es el mejor approach

    • @carlogustavovalenzuelazepe5774
      @carlogustavovalenzuelazepe5774 2 года назад +11

      lol me acaban de hacer una entrevista en la que me recomendaron no hacer truquitos y me lo recomendo a regañadientes porque le gusto mi aproach, pero le pidieron que me pusiera de la manera clasica

    • @aquirozca
      @aquirozca 2 года назад +21

      @@carlogustavovalenzuelazepe5774 bro, si te piden reinventar la rueda no es buen lugar, la idea de mejorar es hacer las formas de la manera más óptima, obvio puede haber razones pero si te digo dame el absoluto de un número no te vas a poner a hacer operaciones raras, solo una validación y un return, de hecho la idea de programar es que las cosas típicas sean más sencillas.
      Pero bueno hay miles de gustos y sabores.
      Saludos.

    • @Fran-wk1wj
      @Fran-wk1wj 2 года назад

      Soy nuevo, como seria esto de la manera clásica?

    • @DO462
      @DO462 2 года назад +3

      @@aquirozca approach se dice acercamiento en español

  • @ErickHernandezTakashi
    @ErickHernandezTakashi 2 года назад +1

    No me vas a creer, pero justo estaba tratando de hacer eso y antes de conseguir la solución hice un break para comer y me puse a ver shorts y de la nada apareciste con este truco, me ahorraste mucho tiempo y seguramente no habría dado con una solución tan limpia

  • @yamilcrespo2140
    @yamilcrespo2140 2 года назад +71

    Siguiente ejercicio: muestre los elementos duplicados
    Yo: de vuelta a los bucles :(

    • @m.a8335
      @m.a8335 2 года назад +1

      Eso pensé yo de primeras, pero al menos en python la librería numpy tiene herramientas para eso

    • @lsolano2707
      @lsolano2707 2 года назад +2

      Jajajaj tal cual

    • @Kyevnieves
      @Kyevnieves 2 года назад +2

      Ahora mismo estoy buscando como mostrarlos 😭

    • @lucascarmona4011
      @lucascarmona4011 2 года назад +5

      @@Kyevnieves crea un objeto {} y recorre el arreglo, por cada elemento haz esto objeto[arrayElem] += 1, luego muestra todas las key cuyo valor sea > 1, tiene orden de complejidad n

    • @edmongarcia2993
      @edmongarcia2993 2 года назад

      Y el tiempo de ejecución? No será mayor?

  • @ponteprimoandrea
    @ponteprimoandrea 9 месяцев назад

    no puedo creer que un lenguaje tan utilizado no devuelva con un simple comando la cantidad de vece que se repite un valor dentro de un array, lenguajes legendarios lo hacían, inexplicable realmente

  • @frako23
    @frako23 11 месяцев назад

    que truco tan bueno midu! justo lo que necesitaba para resolver un bug del trabajo!

  • @juantasayco246
    @juantasayco246 2 года назад

    Interesante lo que se puede llegar a hacer con el objeto Set, muy buen truco midu! se agradece .

  • @pablofonseca8867
    @pablofonseca8867 2 года назад +12

    Una vez me pidieron hacer un programa sumamente largo y complejo en una entrevista y usando puro map, filter, reduce, find de todo termine haciéndolo en 5 minutos y todo en menos de 5 líneas 😂
    El técnico estaba como “oye eso es un insulto para mi xd”
    Amo esa parte de JavaScript ❤️

  • @Djoako22
    @Djoako22 2 года назад +4

    Lo mejor sería hacerlo con bucles para mejorar nuestra lógica creo yo

  • @innominado
    @innominado 2 года назад

    A mí se me había ocurrido otra forma de hacerlo y además un poco más rápido, en los sets de java cuando introduces un nuevo elemento te devuelven false cuando no pueden guardar un elemento, así que se podría iterar el array introduciendo todos los elementos en el set hasta recibir un false. Lo único malo que tiene mi implementación es que requiere de un poco más de código, pero aún así creo que es más obvio de ver que hace

  • @Naru-sl2iq
    @Naru-sl2iq 2 года назад

    Está genial,muchas gracias por el tip.

  • @kastikas
    @kastikas 2 года назад

    Fuaaa como que ya lo sabia, lo quecia SET pero jamaz se me hubiera ocurrido usarlo para eso... eres el pto amo Midu

  • @Daniel-cf8wy
    @Daniel-cf8wy 2 года назад

    Dios que bueno eres, he aprendido mucho contigo

    • @midudev
      @midudev  2 года назад

      Gracias, Daniel

  • @jonathan8406
    @jonathan8406 2 года назад

    Que trucazo gracias Midu!

    • @midudev
      @midudev  2 года назад

      Gracias a ti!!

  • @alvarito99dark
    @alvarito99dark 2 года назад +1

    Podrías hacer un dropWhile y cuando detectes que no te deja añadirlo devuelves false, es una solución más fea y sigue siendo O(n), pero algo más óptimo de media.

  • @santicanabalramos667
    @santicanabalramos667 2 года назад

    Trucazo de los buenos!

  • @alexandermeneses5688
    @alexandermeneses5688 2 года назад +4

    Trucazo! En Python se puede hacer algo similar, dado que existe también el Set.

  • @jonathancastillo5953
    @jonathancastillo5953 2 года назад

    En python para los conjuntos usamos la función intersection,
    x = {"apple", "banana", "cherry"}
    y = {"google", "microsoft", "apple"}
    z = x.intersection(y) -> #apple
    print(z)

    • @Manuel-fg1ol
      @Manuel-fg1ol 2 года назад

      No se a que viene el comment pero justo me hallo aprendiendo python y podemos hacer literalmente lo mismo q explica en el video usando listas y conjuntos

  • @luiser2010
    @luiser2010 2 года назад

    Grande Midu! super truco!

  • @codigosdelfuturo
    @codigosdelfuturo 2 года назад

    Me has dado ideas interesantes.

    • @midudev
      @midudev  2 года назад +1

      Muchas gracias 😊

  • @agustinflores614
    @agustinflores614 2 года назад

    Genial, crack! Justo ví el set hace poco solo que no lo busque y ahora justo sales con un ejemplo aaaaaah voy a buscar más que onda el set

  • @joanmonterrey1368
    @joanmonterrey1368 2 года назад +1

    Que tema estás usando? Me gustan las letras de neón

  • @ednerrevollo5945
    @ednerrevollo5945 2 года назад

    jajaja el bucle del gato... 😂😂😂👍👍

  • @ktoxcon
    @ktoxcon 2 года назад +7

    Buen truco pero en las entrevistas no te dejan usar el Set :(
    Gracias Midu

    • @midudev
      @midudev  2 года назад +8

      Bueno, más se programa en la vida real que en las entrevistas. También tiene un poco de bichos que no dejen usar Set en una entrevista.

    • @sebastianestrada1311
      @sebastianestrada1311 2 года назад +2

      Que es enserio y que quieren un for con ifs o un reduce??

    • @jhondowell3055
      @jhondowell3055 2 года назад +3

      Si en una empresa no te dejan usar las más nuevas tecnologías. No vale la pena.

    • @sebastianestrada1311
      @sebastianestrada1311 Год назад

      ​@@midudevya se porque lo hacen es para medir tu lógica y conocimiento de estructuras de datos.

    • @sebastianestrada1311
      @sebastianestrada1311 Год назад

      ​@@jhondowell3055lo hacen para medir tu conocimiento en estructura de datos.

  • @carlosgomez7002
    @carlosgomez7002 2 года назад

    Genial. Gracias

  • @yfdfj1171
    @yfdfj1171 Год назад

    Trucazo tiene lógica

  • @jimfreecss6391
    @jimfreecss6391 2 года назад +1

    Por qué no utilizas function para crear una función?

  • @vicenteyaelperezmoreno3320
    @vicenteyaelperezmoreno3320 2 года назад

    Se ve muy complicado, me imagino debe de haber una función ya creada de alguna librería que permita verificar eso fácilmente

    • @aquirozca
      @aquirozca 2 года назад

      Mientras menos dependas de librerías, mejor

  • @giovannygarzonsoto
    @giovannygarzonsoto 2 года назад +1

    Capo mi rey

  • @maxdv31
    @maxdv31 2 года назад +2

    Cuidado si se trata de array de objetos.

  • @victorhugovanegascarvajal7532
    @victorhugovanegascarvajal7532 2 года назад

    Gracias pot el truco

  • @giancarlomontalvan569
    @giancarlomontalvan569 2 года назад

    en el caso que sea un array de objetos, elimina el primer elemento repetido o el último???

  • @sger_YT
    @sger_YT 2 года назад

    Muy bueno. Estimo que Set hace los bucles por uno

  • @gabrielmonsalvedev
    @gabrielmonsalvedev 2 года назад

    Cuál es la complejidad temporal de esto?

  • @FraxGuttemberg
    @FraxGuttemberg 2 года назад

    Si pero no lo corristes para ver si funciona.

  • @foskotar2o976
    @foskotar2o976 2 года назад

    Por que utilizas una función lamda?

  • @ElmataSimps01
    @ElmataSimps01 Год назад

    Como se llama el tema del visual?

  • @christophermonzon1184
    @christophermonzon1184 2 года назад

    Bravisimo!!!

    • @midudev
      @midudev  2 года назад +1

      Gracias!! 🤗

  • @Glotón_Volador
    @Glotón_Volador Год назад

    cuál es el tema que usa?

  • @yaakov275
    @yaakov275 2 года назад

    y para saber cuales son los elementos repetidos?

  • @godnemesisgd463
    @godnemesisgd463 2 года назад

    Buen video!, yo tambien quiero ese neon en las letras, sabes como puedo tenerlo en linux?

  • @williamsernesto1
    @williamsernesto1 2 года назад +1

    Pero y si también necesitas saber cual es el valor repetido?

  • @irvingjuarez6399
    @irvingjuarez6399 2 года назад

    El truco no es correcto, ya que un new Set retorna un objeto, por lo que no existe la propiedad length en un Set. La manera correcta seria:
    `[...new Set(arr)].length < arr.length`

  • @MaTXiNGuN
    @MaTXiNGuN 2 года назад

    Puse en pausa el video intentado dar una solución creativa, pero nada tan compacto ni de lejos...

  • @MiguelVega-kh7dq
    @MiguelVega-kh7dq 2 года назад

    Wow q trucazo, ya me siento el rey de los arrays !

    • @midudev
      @midudev  2 года назад +2

      jajajaja El rey de los arrays. 🤣

    • @Miguedevfx
      @Miguedevfx 2 года назад

      ARRey

  • @dimenaranja
    @dimenaranja 2 года назад

    Está bueno el truco, pero habría que ver qué tan eficiente es y me parece que esto lo hace menos legible

  • @jossuetf9156
    @jossuetf9156 2 года назад

    Cómo se llama el tema de su vscode

  • @tefiscastrosalas1289
    @tefiscastrosalas1289 2 года назад

    Como haces para que quede la forma de ma flecha ?

  • @diegoprietto
    @diegoprietto 2 года назад

    Muy bueno

  • @serchonodera
    @serchonodera 2 года назад

    :0000 pedazo trucaso, laik y suscribido

  • @jphvnet
    @jphvnet 2 года назад

    Que buen truco (sic) Si buscaras trabajo, que digo adiós inmediatamente!

  • @gaelincho
    @gaelincho Год назад

    Vengo por el adventJS :)

  • @nicolasrossello8696
    @nicolasrossello8696 2 года назад

    Excelente, tendrías que trabajar en la nueva version de JavaScript y agregar esa funcion nativa jaja

    • @spiderdev5166
      @spiderdev5166 2 года назад

      Puedes hacer un snipet personalizado y listo.
      Haces la combinación de teclas y listo ya tienes todo

  • @faustovii1085
    @faustovii1085 2 года назад

    Nice. Igual pierde sentido cuando te pide algo más como que indiques en que posiciones están los repetidos o cuales son.

  • @juanda8652
    @juanda8652 2 года назад

    Es cuestión de saber usar los SET

  • @yesilili
    @yesilili 2 года назад

    Great! 😃

  • @germanjesus214
    @germanjesus214 2 года назад

    En c# habrá alguna funcion asi? 🤔

    • @KoldoOk
      @KoldoOk 2 года назад

      El distinct y procedes a hacer lo mismo, ver si la lo longitud es distinta.

  • @juandavid3020
    @juandavid3020 Год назад

    Y si fuese un array de objetos? 🤔

  • @donparyman
    @donparyman 2 года назад

    Pero solo sirve para saber si existen...

  • @yavalio7500
    @yavalio7500 2 года назад

    Podemos usar esa misma opción usando. Filter

    • @aquirozca
      @aquirozca 2 года назад

      Seguro? Cómo lo harías con filter?

  • @AngelBau
    @AngelBau Год назад

    Vamos a hacer un programa que calculé el promedio o la media de x números... Ah sí, usamos una función y le pasamos los números y listo....😒 osea.... Yo no digo que este mal, pero se abusa demasiado de esto, por eso hoy en día el rendimiento en los programas, videojuegos y software en general está muy mal optimizado, los programadores de hoy en día ya no quieren pensar e ingeniar soluciones creativas usando estructuras de datos y optimizando el código a nivel ensamblador.
    Edit: Ah y con la llegada de la IA se va a poner peor, ya menos se va a querer pensar.

  • @DavidMartinez-im6ln
    @DavidMartinez-im6ln 2 года назад

    Hice el mismo ejercicio y me da todo false cuando lo imprimo. Alguien sabe porque? 😔 Soy principiante

  • @miguelpayran9509
    @miguelpayran9509 2 года назад

    Yo aprendí variable ^= variable si hay un repetido al final arroja un true :3

  • @GS_Enzo
    @GS_Enzo Год назад

    Que lo haga con un for anidado dice

  • @paulvanhalen3148
    @paulvanhalen3148 2 года назад

    Y digamos, para uno cuando es nuevo en el mundo de la programacion, para que se usa eso?

    • @aquirozca
      @aquirozca 2 года назад

      Generalmente en reportes en donde necesites información filtrada como: personas que solo hicieron un aporte en todo el año, escenarios hay muchos.

  • @juaneduardomartinezhernand5450
    @juaneduardomartinezhernand5450 2 года назад

    Con que programa puedo hacer un programa sencillo que pueda abrir en diferentes computadoras o celulares jaja qué no pese mucho, ejemplo uno que haga un examen y califiqué mandando a la lista los resultados

    • @aquirozca
      @aquirozca 2 года назад

      Html y javascript, podrás abrirlo en cualquier dispositivo desde el navegador.

  • @javieru5871
    @javieru5871 2 года назад

    Naaahhh, siento que es mejor un mapa contador de frecuencias

  • @ThrowedInLife
    @ThrowedInLife 2 года назад

    Yo lo hago con el reduce :D

  • @jodter1
    @jodter1 Год назад

    no entiendo como funciona la logica de javascrip.

  • @arianaromero9552
    @arianaromero9552 Год назад

    python usa el mismo concepto llamando a la funcion set

  • @godizord
    @godizord 2 года назад

    brutal

  • @lsolano2707
    @lsolano2707 2 года назад

    Trucazoooo

  • @richigarciacastro
    @richigarciacastro 2 года назад

    Trucazo

  • @Lucyandez
    @Lucyandez Год назад

    😮

  • @Driub.
    @Driub. 2 года назад

    java ya no da soporte y la gente se vuelve loca programando XD

  • @msm302
    @msm302 2 года назад

    Ooooooo 🤯

  • @edmiljampiersairebustamant9644
    @edmiljampiersairebustamant9644 2 года назад

    Jajajaja pero sin funciones pues xd

  • @JumpJumpJump100
    @JumpJumpJump100 2 года назад

    .

  • @jesusjuvinao2472
    @jesusjuvinao2472 2 года назад

    Que trucazo he?

  • @voicchat
    @voicchat 2 года назад +2

    Muy ingenioso pero no sirve para absolutamente nada

    • @midudev
      @midudev  2 года назад +6

      xD Esa línea de código está en producción para un producto con millones de visitas al mes. Vuelve a tu cueva.

    • @lucho7971
      @lucho7971 2 года назад

      @@midudev MIDUGOD mandando a dormir a los haters

  • @jnknzjnknz4819
    @jnknzjnknz4819 2 года назад

    che, por eso no puedes conseguir más de 50k de paga

  • @ssupercrack
    @ssupercrack 2 года назад

    si. pero no las cuenta

  • @carlos9484
    @carlos9484 Год назад

    Muy buena