cómo seleccionar elementos aleatorios dentro de un bucle jQuery. Tengo un ciclo con 30 elementos donde estoy agregando algunos números aleatorios, ahora no quiero agregar números aleatorios a todos los elementos a la vez, me gustaría agregar números aleatorios a elementos aleatorios en el ciclo.
Un buen ejemplo sería, digamos que quiero que mi ciclo agregue 5 a varios elementos aleatorios de un ciclo como se muestra a continuación
for( var i = 0; i < 30; i ++ ){ if( i 'is in range of radom' ){ i + 5; } else { i + 0; } }Es como seleccionar un grupo de elementos dentro de un ciclo, la próxima vez seleccionar otro grupo y así sucesivamente. Puedo seleccionar como 10 elementos aleatorios en un bucle para agregar 5, en el siguiente bucle se seleccionan otros 10 elementos aleatorios y así sucesivamente.
Suponiendo que quiere decir que sus 30 elementos son una matriz de 30 números.
Suponiendo que desea agregar un valor (en su ejemplo, 5) a n elementos aleatorios (en su ejemplo, 10 elementos)
const items = [/* 30 things here */]; for (let i = 0; i < 10; i++) { items[Math.random() * items.length] += 5; }Esto posiblemente podría agregar 5 al mismo elemento 10 veces, si Math.random() devuelve valores similares.
Considera lo siguiente.
function getRandomInt(max) { return Math.floor(Math.random() * max); } var random = []; for (var i = 0; i < 5; i++) { random.push(getRandomInt(30)); } var results = []; for (var i = 0; i < 30; i++) { if (random.indexOf(i) >= 0) { results[i] = i + 5; } else { results[i] = i; } } console.log(random, results); Suponiendo que random es una matriz de entradas "aleatorias", puede completar una nueva matriz con 30 entradas, en orden, con resultados salados.
Resultados:
[ 0, 1, 2, 3, 4, 5, 11, 7, 8, 14, 10, 11, 12, 13, 19, 15, 16, 17, 18, 19, 20, 21, 22, 28, 24, 25, 26, 32, 28, 29 ] Puedes usar .indexOf() :
El método indexOf() devuelve el primer índice en el que se puede encontrar un elemento dado en la matriz, o -1 si no está presente.
Si tiene una matriz de números, por ejemplo, puede verificar si un número está en esa matriz de esta manera.