Sort by javascript sales node

1

How can I make javascript sort this array through the 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?

    
asked by anonymous 19.06.2015 / 21:33

1 answer

1

To order arrais you can use .sort() , which passes elements of the array as arguments. Since each element is an object you just have to say that within the sort. Since the values of the keys vendas are numbers, just use the sort function 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: link

    
19.06.2015 / 21:37