Códigos Fuente de JavaScript

Mostrando del 331 al 340 de 916 registros
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener el último valor único de una matriz según función de comparación


JavaScript

Publicado el 21 de Diciembre del 2019 por Katas (200 códigos)
765 visualizaciones desde el 21 de Diciembre del 2019
Devuelve todos los valores únicos de una matriz, en función de una función de comparación proporcionada.

Utilice Array.prototype.reduce () y Array.prototype.some () para una matriz que contenga solo la última ocurrencia única de cada valor, en función de la función de comparación, fn. La función de comparación toma dos argumentos: los valores de los dos elementos que se comparan.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uniqueElementsByRight(
  [
    { id: 0, value: 'a' },
    { id: 1, value: 'b' },
    { id: 2, value: 'c' },
    { id: 1, value: 'd' },
    { id: 0, value: 'e' }
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'e' }, { id: 1, value: 'd' }, { id: 2, value: 'c' } ]
 
uniqueElementsByRight(
  [
    { id: 0, value: 'a' },
    { id: 0, value: 'b' },
    { id: 0, value: 'c' },
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'c' } ]
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Poner los ceros al final del array


JavaScript

Publicado el 17 de Diciembre del 2019 por Katas (200 códigos)
4.010 visualizaciones desde el 17 de Diciembre del 2019
Escriba una función que tome una matriz de valores y mueva todos los elementos que son cero al final de la matriz, de lo contrario conserva el orden de la matriz. Los elementos cero también deben mantener el orden en que ocurrieron.

Por ejemplo:
1
2
[7, 2, 3, 0, 4, 6, 0, 0, 13, 0, 78, 0, 0, 19, 14] // [7, 2, 3, 4, 6, 13, 78, 19, 14, 0, 0, 0, 0, 0, 0]
[0, "0", 1, 2, 3] // [1, 2, 3, 0, "0"]

Los elementos cero se definen por 0 o "0". Algunas pruebas pueden incluir elementos que no son literales numéricos.

NO se le permite usar ningún conjunto u objeto temporal. Tampoco se le permite usar ningún método Array.prototype u Object.prototype como .shift(), .push(),
Imágen de perfil
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener todos los elementos recursivamente


JavaScript

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 16 de Diciembre del 2019 por Joel (150 códigos)
3.956 visualizaciones desde el 16 de Diciembre del 2019
Este código muestra como obtener de forma recursiva todos los elementos del DOM desde un elemento dado.

De este código:
1
2
3
4
5
6
7
<div id="myId">
    <p>
        <span>a</span>
        <a href="https://lawebdelprogramador.com">https://lawebdelprogramador.com</a>
    </p>
    <p>b</p>
</div>

Nos devolverá un array con:
1
[p, span, a, p]
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Escapar una cadena con una expresión regular


JavaScript

Publicado el 15 de Diciembre del 2019 por Katas (200 códigos)
703 visualizaciones desde el 15 de Diciembre del 2019
Función que recibe una cadena y escapa los caracteres especiales utilizando replace() y una expresión regular.

1
2
escapeRegExp('hola $name'); // "hola \$name"
escapeRegExp('el objecto es: { nombre: ["juan", "jose"]}'); // "el objecto es: \{ nombre: \["juan", "jose"\]\}"
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Suma los intervalos de un array


JavaScript

Publicado el 13 de Diciembre del 2019 por Katas (200 códigos)
2.401 visualizaciones desde el 13 de Diciembre del 2019
Escriba una función llamada sumIntervals() que acepte una matriz de intervalos y devuelva la suma de todas las longitudes de intervalo. Los intervalos superpuestos solo deben contarse una vez.

Los intervalos están representados por un par de enteros en forma de matriz. El primer valor del intervalo siempre será menor que el segundo valor. Ejemplo de intervalo: [1, 5] es un intervalo de 1 a 5. La longitud de este intervalo es 4.

1
2
3
sumIntervals([[1, 4], [3, 5], [7, 10]]); // 7
sumIntervals([[1,2], [6, 10], [11, 15]]); // 9
sumIntervals([[1,5], [10, 20], [1, 6], [16, 19], [5, 11]]); // 19
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Preparar un texto para publicar hashtags


JavaScript

Actualizado el 13 de Diciembre del 2019 por Katas (200 códigos) (Publicado el 8 de Diciembre del 2019)
1.406 visualizaciones desde el 8 de Diciembre del 2019
Hay que ayudar al equipo de marketing a escribir los hashtags...
Un hashtag tiene que:
1.- Empezar por #
2.- Todas las letras de las palabras tienen que empezar en mayúsculas
3.- Si el texto es superior a 140 caracteres devolver "false"
4.- Si el valor recibido esta vació tiene que devolver "false"

1
2
3
4
generateHashtag(" Hello there thanks for trying my Kata"); // "#HelloThereThanksForTryingMyKata"
generateHashtag("    Hello     World   "                ); // "#HelloWorld"
generateHashtag(""                                      ); // false
generateHashtag("a".repeat(140))                        ); // false
Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Generador de breadcrumb (migas de pan)


JavaScript

Publicado el 12 de Diciembre del 2019 por Katas (200 códigos)
3.317 visualizaciones desde el 12 de Diciembre del 2019
Crear un generado de breadcram que dada una url devuelva el código html para publicar en la web.

A tener en cuenta:
1.- El texto de los enlaces se tiene que poner en mayúsculas
2.- En el nombre del dominio se pone HOME
3.- Si solo existe el dominio no tiene que ser un enlace
4.- Si el ultimo elemento es un nombre de archivo, eliminar el punto y extensión del archivo (.html, .php, ...), interrogantes (?) o anchors (#)...
5.- Si el enlace tiene mas de 30 caracteres, quitar del contenido las palabras ["the", "of", "in", "from", "by", "with", "and", "or", "for", "to", "at", "a"] y mostrar únicamente las iniciales del resto de palabras.
6.- Si un enlace dispone de guiones, no ponerlos en el texto de la url.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
generateBC("mysite.com/", " + ") // <span class="active">HOME</span>
 
generateBC("https://mysite.com/", " + ") // <span class="active">HOME</span>
 
generateBC('http://github.com/biotechnology-by-research-eurasian-insider-meningitis', ' # '); // <a href="/">HOME</a> # <span class="active">BREIM</span>
 
generateBC("mysite.com/pictures/holidays.html", " : "); // <a href="/">HOME</a> : <a href="/pictures/">PICTURES</a> : <span class="active">HOLIDAYS</span>
 
generateBC("www.codewars.com/users/GiacomoSorbi", " / "); // <a href="/">HOME</a> / <a href="/users/">USERS</a> / <span class="active">GIACOMOSORBI</span>
 
generateBC("www.microsoft.com/important/confidential/docs/index.htm#top", " * "); // <a href="/">HOME</a> * <a href="/important/">IMPORTANT</a> * <a href="/important/confidential/">CONFIDENTIAL</a> * <span class="active">DOCS</span>
 
generateBC("mysite.com/very-long-url-to-make-a-silly-yet-meaningful-example/example.htm", " > "); // <a href="/">HOME</a> > <a href="/very-long-url-to-make-a-silly-yet-meaningful-example/">VLUMSYME</a> > <span class="active">EXAMPLE</span>
 
generateBC("www.very-long-site_name-to-make-a-silly-yet-meaningful-example.com/users/giacomo-sorbi", " + "); // <a href="/">HOME</a> + <a href="/users/">USERS</a> + <span class="active">GIACOMO SORBI</span>
Imágen de perfil
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Buscar un elemento superior en el DOM por su tipo


JavaScript

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 9 de Diciembre del 2019 por Joel (150 códigos)
1.165 visualizaciones desde el 9 de Diciembre del 2019
Este simple código muestra como desde un elemento dado, busca otro elemento superior en el DOM por su tipo.

En este ejemplo, desde un <input>, se van recorriendo los elementos hacia arriba hasta dar con el <form>