Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
ccccgg
(version: 0)
Comparing performance of:
filter vs for loop
Created:
one year ago
by:
Guest
Jump to the latest result
Script Preparation code:
const [filterData, setFilterData] = useState({ lifeStyle:{ data: ["pescatarian"], extra: {excercise: [5,10]} }, professional: { data: ["ged"], extra: [] } }); const users = [ { firstName: "Jane", lifeStyle: { data: ["vegetarian"], otherData: {excercise: [5,10]}, }, professional: { data: ["bachelors"], otherData: [], } }, { firstName: "John", lifeStyle: { data: ["pescatarian"], otherData: {excercise: [5,10]}, }, professional: { data: ["ged"], otherData: [], } }, { firstName: "Mike", lifeStyle: { data: ["active", "pescatarian"], otherData: {excercise: [5,10]}, }, professional: { data: ["ged"], otherData: [], } }, { firstName: "Sam", lifeStyle: { data: ["vegetarian"], otherData: [], }, professional: { data: [], otherData: ["ged"], } }, ]
Tests:
filter
const usersData = users.filter(function(x) { for (let item in filterData) { console.log('filterData[item]', filterData[item]) for(let items in filterData[item].extra) { //for (const [key, value] of Object.entries(filterData[item].extra)) { if (filterData[item]?.data?.length > 0) { if (x[item]?.data.includes(...filterData[item]?.data) && x[item]?.otherData[items][0] >= filterData[item]?.extra[items][0] && x[item]?.otherData[items][1] <= filterData[item]?.extra[items][1] ) { return x } } } } } )
for loop
const usersData = []; for (let i=0; users.length > i; i++) { for (let item in filterData) { console.log('filterData[item]', filterData[item]) for(let items in filterData[item].extra) { //for (const [key, value] of Object.entries(filterData[item].extra)) { if (filterData[item]?.data?.length > 0) { if (x[item]?.data.includes(...filterData[item]?.data) && users[i][item]?.otherData[items][0] >= filterData[item]?.extra[items][0] && users[i][item]?.otherData[items][1] <= filterData[item]?.extra[items][1] ) { usersData.push(x) } } } } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
filter
for loop
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!
Comments
Confirm delete:
Do you really want to delete benchmark?