ThomasD ThomasD - 1 year ago 47
Javascript Question

checking if javascript array contains value using underscorejs

I have an array of cars like this:

[{ name:"Toyota Minivan", id:"506" }, { name:"Honda Civic", id:"619" }]

I am trying to check whether the array contains a certain id.

I have tried

var x =!!_.where(cars, {id:'506'}).length;

expecting it to return true if the array contains the id, but it always returns false.

What am I doing here ?

Btw, I don't have to use underscore.js if there is a better way of doing this.


Answer Source

Your code does work (once you fix the syntax errors in the object array):

var cars = [{ name:"Toyota Minivan", id:"506"}, { name:"Honda Civic", id:"619"}];
var x =!!_.where(cars, {id:'506'}).length;
console.log('value: ' + x);

returns "value: true". So there must be a problem somewhere else.

But, a better way to do this might be some:

var y = _.some(cars, function(c) {
    return == '506';