Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. //Declaro el arreglo de prueba
  2. var arr = [4,5,1,2,3,4];
  3.  
  4. //Declaro la funcion que intercambia el primer elemento por el menor
  5. function menorDelante(arr) {
  6. //Clono el arreglo para evitar modificar el original
  7. var ARR = arr.slice();
  8. //Obtengo el indice del menor elemento del arreglo
  9. var menorI = elMenor(ARR);
  10. //Almaceno el menor elemento del arreglo y lo sustituyo por el primer elemento del mismo
  11. var menor = ARR.splice(menorI,1,ARR[0]);
  12. //Sustituyo ahora el primer elemento por el menor elemento almacenado previamente
  13. ARR.splice(0,1,menor[0]);
  14. //Devuelvo el arreglo reordenado
  15. return ARR;
  16. }
  17.  
  18. //Declaro la funcion que encuentra el menor valor
  19. function elMenor(arr) {
  20. //Inicializo mi acumulador en infinito posiivo
  21. var menor = Number.POSITIVE_INFINITY;
  22. //inicializo un segundo acumulador para almacenar el indice
  23. var menorI = -1;
  24. //Recorro el arreglo
  25. arr.forEach((num, i, arr) => {
  26. //Si la posicion actual es menor que mi acumulador, la guardo el el acumulador y almaceno el indice
  27. if (num < menor) {
  28. menor = num;
  29. menorI = i;
  30. }
  31. });
  32.  
  33. //Al final retorno el uindice almacenado
  34. return menorI;
  35. }
  36.  
  37. //Ejecuto mi prueba
  38. var prueba = menorDelante(arr);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement