Test name | Executions per second |
---|---|
Lo-Dash sortBy() | 1588651.4 Ops/sec |
Underscore sortBy() | 1617897.0 Ops/sec |
Vanilla sort() | 5496589.0 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
let fruits = [
{name:"mango", amount: 1},
{name:"apple", amount: 4},
{name:"banana", amount: 2},
{name:"pineapple", amount: 2},
{name:"apple", amount: 2}
]
const sortBy = (key) => {
return (a, b) => (a[key] > b[key]) ? 1 : ((b[key] > a[key]) ? -1 : 0);
};
fruits.sort(sortBy("name"));
let fruits = [
{name:"mango", amount: 1},
{name:"apple", amount: 4},
{name:"banana", amount: 2},
{name:"pineapple", amount: 2},
{name:"apple", amount: 2}
]
_.sortBy(fruits, 'name')
let fruits = [
{name:"mango", amount: 1},
{name:"apple", amount: 4},
{name:"banana", amount: 2},
{name:"pineapple", amount: 2},
{name:"apple", amount: 2}
]
_.sortBy(fruits, 'name')
let fruits = [
{name:"mango", amount: 1},
{name:"apple", amount: 4},
{name:"banana", amount: 2},
{name:"pineapple", amount: 2},
{name:"apple", amount: 2}
]
const sortBy = (key) => {
return (a, b) => (a[key] > b[key]) ? 1 : ((b[key] > a[key]) ? -1 : 0);
};
fruits.sort(sortBy("name"));