Using the sort () method

2

Personal I have this following js code:

var livro = {
   ISBN : '978-85-7522-347-5',
   titulo : 'Aprendendo a Desenvolver Aplicações Web',
   preco : 83.00,
   autor : 'Semmy Purewal'
};

I need to write a sort () expression to sort the vector books according to the price, in descending order. Does anyone know how I should proceed?

    
asked by anonymous 09.06.2016 / 15:45

1 answer

10

With sort , create a function to compare the object created within that array by comparing the field preco .

Example:

livro0 = {
   ISBN : '978-85-7522-347-0',
   titulo : 'Stackoverflow',
   preco : 15.00,
   autor : 'Stack'
};

livro1 = {
   ISBN : '978-85-7522-347-5',
   titulo : 'Aprendendo a Desenvolver Aplicações Web',
   preco : 83.00,
   autor : 'Semmy Purewal'
};

livro2 = {
   ISBN : '978-85-7522-347-1',
   titulo : 'Aplicações Web',
   preco : 80.00,
   autor : 'Samuray'
};

livros = [];

livros.push(livro0);
livros.push(livro1);
livros.push(livro2);

//resultado antes da comparação
console.log(livros);

//função responsável pela ordernação.
livros.sort(function(a, b)
{
	return b.preco - a.preco;
});

//resultado após a comparação 
console.log(livros);

Comparison to order from: highest price to lowest price.

livros.sort(function(a, b)
{
        return b.preco - a.preco;
});

Comparison to order from: lowest price to highest price.

livros.sort(function(a, b)
{
        return a.preco - b.preco;
});

References:

09.06.2016 / 15:52