DEV Community

Cover image for JavaScript some() method
Chris Bongers
Chris Bongers

Posted on • Originally published at daily-dev-tips.com

JavaScript some() method

Did you ever need to know if one of the elements in an array passed a test?

This is where the some() method comes in handy.

Let's keep using our product array, but let's add a discounted product.

We then want to test if some of our products are discounted.

Using the Javascript some() method

Let's start by creating an array of items.

const items = [
  { name: 'T-shirt plain', price: 9, discount: true },
  { name: 'T-shirt print', price: 20 },
  { name: 'Jeans', price: 30 },
  { name: 'Cap', price: 5 }
];
Enter fullscreen mode Exit fullscreen mode

Now let's use the some() method to test if we have a discounted product in our array.

const discounted = items.some(item => {
  return item.discount;
});

// Returns true
Enter fullscreen mode Exit fullscreen mode

If we now remove the discount on our item, it will return false.

Another use case might be that you need to check if all people are under a certain age.

const users = [
  { name: 'Bob', age: 60 },
  { name: 'Sarah', age: 20 },
  { name: 'Billy', age: 18 },
];

const ageRestriction = users.some(user => {
  return user.age <= 18;
});

// Returns true
Enter fullscreen mode Exit fullscreen mode

This return true, because billy is under the age of 18!

The syntax for some is as follows:

const new = original.some(function(value));
Enter fullscreen mode Exit fullscreen mode

Inside our function, we can check on certain properties the value has.

Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter

Top comments (4)

Collapse
 
chukwu3meka profile image
Chukwuemeka Maduekwe

I love this post, but I don't think the second answer will be true since its < and not <= you used there

Collapse
 
defite profile image
Nikita Makhov

Yep. It will be false.

Collapse
 
dailydevtips1 profile image
Chris Bongers

Ah woops, yes should be <= my bad.

Collapse
 
j23saw profile image
j23saw

True, OP please edit the post