New year, new project. A JS tip per day!
With great excitement, I introduce short and useful Javascript tips per day that will allow you to improve your code writing. With less than 2 minutes each day, you will be able to read about performance, frameworks, conventions, hacks, interview questions and all the items that future of this awesome language holds for us.
At midday, no matter if it is a weekend or a holiday, a tip will be posted and tweeted.
Please feel free to send us a PR with your own Javascript tip to be published here. Any improvements or suggestions are more than welcome! Click to see the instructions
To get updates, watch the repo and follow the Twitter account, only one tweet will be sent per day. It is a deal!
Don't forget Star the repo, this will help to diffuse the project!
12/29/2015
Insert an item into an existing array is a daily common task. You can add elements to the end of an array using push, to the beginning using unshift, or the middle using splice.
But those are known methods, doesn't mean there isn't a more performant way, here we go...
Add a element at the end of the array is easy with push(), but there is a way more performant.
var arr = [1,2,3,4,5];
arr.push(6);
arr[arr.length] = 6; // 43% faster in Chrome 47.0.2526.106 on Mac OS X 10.11.1
Both methods modify the original array. Don't believe me? Check the jsperf
Now we are trying to add a item to the beginning of the array
var arr = [1,2,3,4,5];
arr.unshift(0);
[0].concat(arr); // 98% faster in Chrome 47.0.2526.106 on Mac OS X 10.11.1
Here is a little bit detail, unshift edit the original array, concat return a new array. jsperf
Add items at the middle of an array is easy with splice and is the most performant way to do it.
var items = ['one', 'two', 'three', 'four'];
items.splice(items.length / 2, 0, 'hello');
I tried to run these tests in various Browsers and OS and the results were similar. I hope this tips will be useful for you and encorage to perform your own tests!