Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
TestDeDgo
(version: 0)
Comparing performance of:
Lodash vs JS
Created:
5 years ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
Script Preparation code:
let arr = [{ name: 'a', age: 10, id: 1 }, { name: 'b', age: 10, id: 2 }, { name: 'c', age: 10, id: 3 }, { name: 'd', age: 10, id: 4 }, { name: 'a', age: 20, id: 5 }, { name: 'a', age: 30, id: 6 }, { name: 'a', age: 40, id: 7 }, { name: 'a', age: 50, id: 8 }, { name: 'a', age: 10, id: 9 }, { name: 'b', age: 10, id: 10 }, { name: 'c', age: 10, id: 11 }, { name: 'd', age: 10, id: 12 }, { name: 'b', age: 60, id: 13 }, { name: 'b', age: 70, id: 14 }, { name: 'b', age: 80, id: 15 }, { name: 'b', age: 90, id: 16 }, { name: 'a', age: 10, id: 17 }, { name: 'b', age: 10, id: 18 }, { name: 'c', age: 10, id: 19 }, { name: 'd', age: 10, id: 20 }, { name: 'c', age: 100, id: 21 }, { name: 'c', age: 110, id: 22 }, { name: 'c', age: 120, id: 23 }, { name: 'c', age: 130, id: 24 }, { name: 'a', age: 10, id: 25 }, { name: 'b', age: 10, id: 26 }, { name: 'c', age: 10, id: 27 }, { name: 'd', age: 10, id: 28 }, { name: 'd', age: 140, id: 29 }, { name: 'd', age: 150, id: 30 }, { name: 'd', age: 160, id: 31 }, { name: 'd', age: 170, id: 32 } ];
Tests:
Lodash
let arr = [{ name: 'a', age: 10, id: 1 }, { name: 'b', age: 10, id: 2 }, { name: 'c', age: 10, id: 3 }, { name: 'd', age: 10, id: 4 }, { name: 'a', age: 20, id: 5 }, { name: 'a', age: 30, id: 6 }, { name: 'a', age: 40, id: 7 }, { name: 'a', age: 50, id: 8 }, { name: 'a', age: 10, id: 9 }, { name: 'b', age: 10, id: 10 }, { name: 'c', age: 10, id: 11 }, { name: 'd', age: 10, id: 12 }, { name: 'b', age: 60, id: 13 }, { name: 'b', age: 70, id: 14 }, { name: 'b', age: 80, id: 15 }, { name: 'b', age: 90, id: 16 }, { name: 'a', age: 10, id: 17 }, { name: 'b', age: 10, id: 18 }, { name: 'c', age: 10, id: 19 }, { name: 'd', age: 10, id: 20 }, { name: 'c', age: 100, id: 21 }, { name: 'c', age: 110, id: 22 }, { name: 'c', age: 120, id: 23 }, { name: 'c', age: 130, id: 24 }, { name: 'a', age: 10, id: 25 }, { name: 'b', age: 10, id: 26 }, { name: 'c', age: 10, id: 27 }, { name: 'd', age: 10, id: 28 }, { name: 'd', age: 140, id: 29 }, { name: 'd', age: 150, id: 30 }, { name: 'd', age: 160, id: 31 }, { name: 'd', age: 170, id: 32 } ]; let gr = []; let uniqNames = _.uniq(_.map(arr,'name')); for(let nm of uniqNames){ let filt = _.filter(arr,['name',nm]); let o = {name: nm, ages: []}; let uniqAge = _.uniq(_.map(filt,'age')); for(let ag of uniqAge){ let fil = _.filter(filt,['age',ag]); let aObj = {age:ag,list:fil}; o.ages.push(aObj); } gr.push(o); }
JS
let arr = [{ name: 'a', age: 10, id: 1 }, { name: 'b', age: 10, id: 2 }, { name: 'c', age: 10, id: 3 }, { name: 'd', age: 10, id: 4 }, { name: 'a', age: 20, id: 5 }, { name: 'a', age: 30, id: 6 }, { name: 'a', age: 40, id: 7 }, { name: 'a', age: 50, id: 8 }, { name: 'a', age: 10, id: 9 }, { name: 'b', age: 10, id: 10 }, { name: 'c', age: 10, id: 11 }, { name: 'd', age: 10, id: 12 }, { name: 'b', age: 60, id: 13 }, { name: 'b', age: 70, id: 14 }, { name: 'b', age: 80, id: 15 }, { name: 'b', age: 90, id: 16 }, { name: 'a', age: 10, id: 17 }, { name: 'b', age: 10, id: 18 }, { name: 'c', age: 10, id: 19 }, { name: 'd', age: 10, id: 20 }, { name: 'c', age: 100, id: 21 }, { name: 'c', age: 110, id: 22 }, { name: 'c', age: 120, id: 23 }, { name: 'c', age: 130, id: 24 }, { name: 'a', age: 10, id: 25 }, { name: 'b', age: 10, id: 26 }, { name: 'c', age: 10, id: 27 }, { name: 'd', age: 10, id: 28 }, { name: 'd', age: 140, id: 29 }, { name: 'd', age: 150, id: 30 }, { name: 'd', age: 160, id: 31 }, { name: 'd', age: 170, id: 32 } ]; let gr = []; for(let i of arr){ let a = _.find(gr,{'name':i.name}); if(a){ let b = _.find(a.ages,{'age':i.age}); if(b){ b.list.push(a); } else { let c = {age: i.age, list: [i]}; a.ages.push(c); } } else { let o = {name: i.name, ages: [{age: i.age, list: []}]}; gr.push(o); } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Lodash
JS
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
This appears to be a code snippet, likely written in JavaScript. It seems to be an example of using Lodash's `find` and `push` methods to iterate through an array of objects and update a nested object structure. Here is the relevant code: ``` for(let i of arr){ let a = _.find(gr,{'name':i.name}); if(a){ let b = _.find(a.ages,{'age':i.age}); if(b){ b.list.push(a); } else { let c = {age: i.age, list: [i]}; a.ages.push(c); } } else { let o = {name: i.name, ages: [{age: i.age, list: []}]}; gr.push(o); } } ``` This code iterates through the `arr` array and uses Lodash's `find` method to locate a matching object in the `gr` array. If an exact match is found, it then uses another `find` method to locate an entry with a specific age within that object's `ages` array. Depending on whether such an entry exists, it either adds the current object to an existing list or creates a new one.
Related benchmarks:
lodash_array_objects
lodash_array_objects_2
Test-BC
cache variabled
Comments
Confirm delete:
Do you really want to delete benchmark?