Comentarios y respuestas

Javascript. Función. Dado un array. Cada elemento trim. Eliminar repetidos. Mix o Shuffle con 4 técnicas diferentes. Devolver array resultante

¡Hola! Para resolver tu consulta, podemos seguir los siguientes pasos: 1. Dado un array de elementos, utilizaremos la función `map` en JavaScript para aplicar el método `trim`
21/7/2023 12:18
Javascript. Función. Dado un array.  Cada elemento trim.
Eliminar repetidos.
Mix o Shuffle con 4



Consulta:

Javascript. Función. Dado un array. Cada elemento trim.
Eliminar repetidos.
Mix o Shuffle con 4 técnicas diferentes. Devolver array resultante

Respuesta:

¡Hola! Para resolver tu consulta, podemos seguir los siguientes pasos:

1. Dado un array de elementos, utilizaremos la función `map` en JavaScript para aplicar el método `trim` a cada elemento del array y eliminar los espacios en blanco al principio y al final de cada elemento. Esto se puede hacer de la siguiente manera:

```javascript
const arraySinEspacios = miArray.map(elemento => elemento.trim());
```

2. Para eliminar los elementos repetidos del nuevo array obtenido, podemos utilizar el operador de propagación (`...`) y el objeto `Set` en JavaScript. El objeto Set nos permite almacenar valores únicos y podemos convertirlo nuevamente en un array utilizando el operador de propagación. Aquí tienes un ejemplo:

```javascript
const arraySinRepetidos = [...new Set(arraySinEspacios)];
```

3. Para mezclar o shuffle el nuevo array sin repetidos, puedes utilizar alguna de las siguientes técnicas:

- Técnica 1: Utilizar el método `sort` junto con la función `Math.random` para ordenar aleatoriamente los elementos del array. Aquí tienes un ejemplo:

```javascript
const arrayMezclado1 = arraySinRepetidos.sort(() => Math.random() - 0.5);
```

- Técnica 2: Utilizar una función auxiliar que intercambie aleatoriamente los elementos del array varias veces. Aquí tienes un ejemplo:

```javascript
function mezclarArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}

const arrayMezclado2 = mezclarArray(arraySinRepetidos);
```

- Técnica 3: Utilizar el algoritmo de Fisher-Yates para mezclar el array. Aquí tienes un ejemplo:

```javascript
function mezclarArrayFisherYates(array) {
let currentIndex = array.length;
let temporaryValue, randomIndex;

while (0 !== currentIndex) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;

temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}

return array;
}

const arrayMezclado3 = mezclarArrayFisherYates(arraySinRepetidos);
```

- Técnica 4: Utilizar la librería `lodash` y su función `shuffle` para mezclar el array. Asegúrate de importar la librería antes de utilizarla. Aquí tienes un ejemplo:

```javascript
import shuffle from 'lodash/shuffle';

const arrayMezclado4 = shuffle(arraySinRepetidos);
```

Estas son cuatro técnicas diferentes que puedes utilizar para mezclar el array resultante. Puedes elegir la que mejor se adapte a tus necesidades.

Espero que esta información te sea útil. Si tienes alguna otra pregunta, no dudes en hacerla. Estoy aquí para ayudarte.



 


Artículos relacionados