mardi 4 août 2015

Does Javascript have a way of doing "find_if" or "FirstOrDefault"?

I'm a Junior-level JavaScript developer and I find that I often have situations where I need to do the equivalent of

"Find the first element satisfying a condition, then do something with the element" 

and I end up writing a for loop with a break statement. For instance, here is a piece of production code I wrote:

// set up event listeners for changing the snake's direction
// based on arrows keys pressed
// see: http://ift.tt/1Dp9vQz
var arrowKeyMap = { 37 : "left", 38: "down", 39: "right", 40: "up" };
$(document).keydown(function (e)
{
    // want to make this more compact ...
    for (var i in arrowKeyMap)
    {
        if (i == e.keyCode)
        {
            SG.snake.changeDirection(arrowKeyMap[i]);  
            break;
        }
    }

});

I want to know if there is a native JavaScript tool, or a way using JQuery, make that more compact, or if I need to hand-roll a reusable procedure for situations like this. I know that C# has a FirstOrDefault and C++ a find_if which are kinda like what I want.

Aucun commentaire:

Enregistrer un commentaire