I am using ajax to get a small set of data back from the server which returns JSON data with the following format:
{
    "data": [
        {
            "id": "1",
            "value": "One"
        },
        {
            "id": "2",
            "value": "Two"
        },
        {
            "id": "3",
            "value": "Three"
        }
    ]
}
On the client side, this is assigned to a variable named response. I use response.data to get the contents.
The question is, is there an easier way to get the value without doing a loop?
I'm kinda looking for something like this response[id==2].value which should give me "Two".
I'm open for any suggestions if this is not possible.
You could take a functional approach and use the Array.filter method:
var matchingResults = JSON['data'].filter(function(x){ return x.id == 2; });
// procede to use matching elements...
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With