• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

I Like Kill Nerds

The blog of Australian Front End / Aurelia Javascript Developer & brewing aficionado Dwayne Charrington // Aurelia.io Core Team member.

  • Home
  • Aurelia 2
  • Aurelia 1
  • About
  • Aurelia 2 Consulting/Freelance Work

Front-end PSA: Are You Using For Loops In Your Javascript?

Javascript · September 12, 2014

I am most certainly not a Javascript purist, I love jQuery just as much as the next developer does, but that doesn’t mean I use it for everything. One thing that really gets under my skin is when jQuery is used to unnecessarily loop through and array or object.

It’s 2014, not 2008, we no longer have to use library methods because of browser API constraints like we once did for older versions of IE. Using jQuery.each() for looping through an array or object is quite an expensive operation and poor in terms of performance, this is one of those situations where native methods and conditions which are well supported eclipse jQuery 1000:1.

This JSPerf benchmark shows in Chrome and Firefox just how much of a difference using a native for loop makes. See below for the results I got on the latest version of Chrome on a Mac. The difference is like night and day. I know that a for loop might require more typing and not look as clean, but if you care about performance, then you won’t always go for the easiest method.

javascript-native-vs-jquery-loop-performance-screenshot-in-chrome-latest-on-mac-osx

Good:

var myArray = ["apple", "banana", "orange", "grapefruit", "pear", "pawpaw"];

for (var i = 0, len = myArray.length; i < len; ++i) { 
    console.log(myArray[i]);
}

Beyond bad (avoid this kind of loop for arrays please):

var myArray = ["apple", "banana", "orange", "grapefruit", "pear", "pawpaw"];

for (var i in myArray) { }

At all costs you should avoid using a for..in loop if you can for arrays. Trust me, you don’t want to see the performance benchmarks on a for..in loop, they’re incredibly slow and the use of this kind of loop in favour of a standard for loop can almost always be avoided.

Dwayne

Leave a Reply Cancel reply

0 Comments
Inline Feedbacks
View all comments

Primary Sidebar

Popular

  • I Joined Truth Social Using a VPN and Editing Some HTML to Bypass the Phone Verification
  • Testing Event Listeners In Jest (Without Using A Library)
  • How To Get The Hash of A File In Node.js
  • Thoughts on the Flipper Zero
  • Waiting for an Element to Exist With JavaScript
  • How To Paginate An Array In Javascript
  • How To Mock uuid In Jest
  • How To Decompile And Compile Android APK's On A Mac Using Apktool
  • How To Get Last 4 Digits of A Credit Card Number in Javascript
  • Wild Natural Deodorant Review

Recent Comments

  • CJ on Microsoft Modern Wireless Headset Review
  • Dwayne on Microsoft Modern Wireless Headset Review
  • CJ on Microsoft Modern Wireless Headset Review
  • john on Microsoft Modern Wireless Headset Review
  • Dwayne on Why You Should Be Using globalThis Instead of Window In Your Javascript Code

Copyright © 2023 · Dwayne Charrington · Log in

wpDiscuz