Object.keys
I adore JavaScript objects. Love them. You're probably asking "well, why don't you marry them?" Trust me: if I could, I would. Arrays are nice and all but object keys provide another level of structure and information that is invaluable. For example, it's much faster search an object for a key than it is to search an array for value presence.
The way we've always iterated on an Object
instance was always a for
loops with a hasOwnProperty
check which was ugly; Object.keys
(not Object.prototype.keys
) provides an array of Object properties!
var person = {
firstName: 'David',
lastName: 'Walsh',
// ...
};
Object.keys(person).forEach(function(trait) {
console.log('Person ', trait,': ', person[trait]);
});
If you work with JSON or simply raw JavaScript objects, and you haven't been using Object.keys
, now is the time to ditch the old method for this elegant solution!
Back in late 2012 it was not easy to find open source projects using requestAnimationFrame()
- this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...
Kids these days, I tell ya. All they care about is the technology. The video games. The bottled water. Oh, and the texting, always the texting. Back in my day, all we had was...OK, I had all of these things too. But I still don't get...
jQuery offers a quick event shortcut method called hover that accepts two functions that represent mouseover and mouseout actions. Here's how to implement that for MooTools Elements.
The MooTools JavaScript
We implement hover() which accepts to functions; one will be called on mouseenter and the other...
Remember the good old days of Windows applications forcing you to scroll down to the bottom of the "terms and conditions" pane, theoretically in an effort ensure that you actually read them? You're saying "No David, don't do it." Too late -- I've done...
Why don’t you use this:
@Franz,
for..in iterating over NON own properties.
Not very well supported http://caniuse.com/#feat=let
Obligatory https://babeljs.io/
Also would iterate over prototype properties.
The
for each...in
statement is deprecated as the part of ECMA-357 (E4X) standard. E4X support has been removed, butfor each...in
will not be disabled and removed because of backward compatibility considerations. Consider usingfor...of
instead. (Please refer to bug 791343.)Also: Use
const
, not let. The loop creates a new context in each iteration, the loop variable therefore is constant unless your loop-code changes it.