JavaScript - ¡Los tres números mayores de un arreglo?

 
Vista:
sin imagen de perfil

¡Los tres números mayores de un arreglo?

Publicado por Brayan (1 intervención) el 28/03/2014 04:43:12
Hola a todos.

Ojalá me puedan dar una manita con lo siguiente.

Estoy solucionando un ejercicio dónde me pide realizar una función que determine los tres números mayores en un array.

Los datos son los siguientes:

var aCarbs = [31.90, 171, 155, 34, 25, 28, 90, 15],
nMayorCarb = 0;

Lo que he hecho en estos momentos solo me determina uno de los números mayores del arreglo "aCarbohidratos".

1
2
3
4
5
for(var f=0; f<aCarbs.length; f++){
    if(aCarbs[f] > nMayorCarb){
        nMayorCarb = aCarbs[f];
    };
};

¿Me podrían ayudar en sacar los 3 números mayores del array este array?

Gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

¡Los tres números mayores de un arreglo?

Publicado por xve (2100 intervenciones) el 28/03/2014 11:55:22
Hola Brayan, aqui tienes como hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script>
var aCarbs = [31.90, 171, 155, 34, 25, 28, 90, 15];
var resultado=[];
 
for(var i=0; i<3; i++)
{
    // buscamos el vamor mas grande
    max=Math.max.apply(null, aCarbs);
 
    // guardamos dicho valor en un nuevo array
    resultado.push(max);
 
    // buscamos el idice del valor en el array
    index = aCarbs.indexOf(max);
 
    // eliminamos dicho valor del array original
    aCarbs.splice(index,1);
};
 
document.write(resultado);
</script>

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¡Los tres números mayores de un arreglo?

Publicado por bathorz (10 intervenciones) el 28/03/2014 22:42:21
Si por sacar te refieres a eliminar esta es otra variante.
1
2
3
4
5
6
7
var aCarbs = [31.90,171,155,34,25,28,90,15];
var resultado = [];
 
aCarbs.sort(function(a,b){return b-a;});
aCarbs.splice(0,3);
 
document.write(aCarbs);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar