Sort by javascript sales node

Asked

Viewed 52 times

1

How can I make javascript sort this array by sales node?

[{"codigo":"produto003059","vendas":0},{"codigo":"produto003062","vendas":0},{"codigo":"produto003067","vendas":4},{"codigo":"produto003068","vendas":1},{"codigo":"produto003070","vendas":0},{"codigo":"produto003071","vendas":0},{"codigo":"produto003073","vendas":2},{"codigo":"produto003875","vendas":3},{"codigo":"produto003879","vendas":0},{"codigo":"produto003881","vendas":0}]

Is there a function or command?

1 answer

1


To order Rrais you can use the .sort(), which passes as array elements argument. Since each element is an object you only have to say this inside the Sort. Like the values of the keys vendas are numbers just use in the function of Sort return a.vendas - b.vendas;

I assume this array is a JSON, so I include JSON.parse in the code below.

var vendas = '[{"codigo":"produto003059","vendas":0},{"codigo":"produto003062","vendas":0},{"codigo":"produto003067","vendas":4},{"codigo":"produto003068","vendas":1},{"codigo":"produto003070","vendas":0},{"codigo":"produto003071","vendas":0},{"codigo":"produto003073","vendas":2},{"codigo":"produto003875","vendas":3},{"codigo":"produto003879","vendas":0},{"codigo":"produto003881","vendas":0}]';

var ordenado = JSON.parse(vendas).sort(function(a, b){
       return a.vendas - b.vendas; 
});

console.log(JSON.stringify(ordenado)); // dá: [{"codigo":"produto003059","vendas":0},{"codigo":"produto003062","vendas":0},{"codigo":"produto003070","vendas":0},{"codigo":"produto003071","vendas":0},{"codigo":"produto003879","vendas":0},{"codigo":"produto003881","vendas":0},{"codigo":"produto003068","vendas":1},{"codigo":"produto003073","vendas":2},{"codigo":"produto003875","vendas":3},{"codigo":"produto003067","vendas":4}]

jsFiddle: http://jsfiddle.net/8918kzvk/

  • Right, and to reverse the order just change the position of the variables return b.vendas - a.vendas;

Browser other questions tagged

You are not signed in. Login or sign up in order to post.