Test name | Executions per second |
---|---|
testArrayIteration | 1265912.2 Ops/sec |
testArrayMap | 1507532.5 Ops/sec |
testUnderscoreMap | 1907867.9 Ops/sec |
testLodashMap | 1977808.5 Ops/sec |
testForLoop | 1285028.4 Ops/sec |
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script>
underscore = _;
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.min.js"></script>
<script>
lodash = _;
</script>
</head>
<body>
</body>
</html>
var PromosArray = [
{
type: "regular",
display: "$123.00"
},
{
type: "markdown",
display: "$100.00"
},
{
type: "promo",
display: "$80.00"
}
];
function testArrayIteration() {
var items = [];
var i;
for (i = 0; i < PromosArray.length; i++) {
items.push(PromosArray[i].type);
}
return items;
}
function testArrayMap() {
return PromosArray.map(function (promo) {
return promo.type;
});
}
function testUnderscoreMap() {
underscore.map(PromosArray, function (promo) {
return promo.type;
});
}
function testLodashMap() {
lodash.map(PromosArray, function (promo) {
return promo.type;
});
}
function testForLoop() {
var newArray = [];
for (var i = 0; i < PromosArray.length; i++) {
newArray.push(PromosArray[i].type);
}
return newArray;
}
testArrayIteration();
testArrayMap();
testUnderscoreMap();
testLodashMap();
testForLoop();