As I learn more and more about JavaScript I realise that there is more and more that I don't know and I have realised that a great deal of what I am doing with JavaScript is examining data and doing stuff with that data. A great deal of that data is a list of things or an array.
In JavaScript there are methods, which are prebuilt bits of code for working with data, whether that data be:
- Strings - words and numbers for example a person's name
- Numbers - for example the cost of something
- Boolean - true or false value for example an option is selected or not
- Array - a list of things for example a list of peoples names.
- Object - a complex bit of related data for example a person, their first/last names, age, date of birth, etc.
An array can be a list of strings, numbers, booleans, arrays, objects or a mixture of all of these.
Array.some()
This method allows you to check that a value appears in an array and will return true or false.
Here I have a simple array of numbers.
let simpleArray = [1, 2, 3, 4, 5, 6]
I can use the .some() method to check if a value appears in the array.
simpleArray.some(2) // returns true as 2 is in the array simpleArray.some(7) // returns false as 7 is not in the array
If a value in an array is an object
Real life is usually a little more complex so let me explain why I am using this to give more context
Use Case
I have an id which I have got from the url:
https://mysite.com/user/abc123 id = abc123
I have an array of users, my data:
const users = [
{
id: "abc123",
name: "Dave",
age: 52
},
{
id: "def456",
name: "Tom",
age: 36
},
{
id: "ghi789",
name: "Dick",
age: 27
}
]
Now I want to check to see if the id appears in the users array
Solution
users.some(user => user.id.includes(id))
This uses the .some() method and inside we have an arrow function that breaks each object in the array into a user.
Then it looks in that user for an id (or object key) and then uses the .includes() string method to see if the id I got from the url is in the current user object that is being inspected.
How I am using this
So I am checking to see if the user exists in my array and if it is I am loading that into the page, if not I make an API call to get the user.
if (users.some(user => user.id.includes(id))) {
// load the user into the page
} else {
// call function to get the user
getUser(id);
// load user into the page
}
Further reading
.some()array method MDN.includes()string method MDN.some()array method can I use.includes()string method can I use
Other articles from the blog

Daft Punk of the Web
In the week that Daft Punk announced they were splitting up, I thought I’d tell you about the Daft Punk of Websites.

Money is not the only form of Reward
In some down time last week, I helped out a local charity with a Foodbank referral form.