Javascript Array Some Method
📣 Sponsor
I’ve already covered in another article the Javascript every method. It’s useful for when checking if every element matches a certain criteria. The some
method differs in that it checks if only ‘some’ elements pass a criteria. If some do, then the expression will return true
overall. For this function, some
means anything more than 1 - so if even one element matches the criteria you define, the expression will return true.
Let’s look at an example:
let myArray = [ 5, 10, 15, 20, 25, 30 ]
let checkArray = myArray.some((x) => (x / 5) > 3)
// Returns true, since some elements, when divided by 5, return a number greater than 3
console.log(checkArray)
The some
method takes one callback function, which can have 3 different arguments:
element
- the element being iterated over. In the example above, I’ve named itx
.index
- the index of array element we are iterating over currently.array
- the entire original array.
some
works like a loop - it loops over every element and checks if the callback function you gave returns true for any of them. element
and index
let us check each element individually in our function, while array
gives us easy access to the original array. Here is an example with all three:
let myArray = [ 5, 10, 15, 20, 25, 30 ]
let checkArray = myArray.some((el, index, array) => {
if(el / 5 > 3 && index > 4 && array.length === 6) {
return true
}
})
// Returns true since all checks are true for "some" elements
console.log(checkArray)
If one element in some
passes the test, then the function will stop - meaning it is quite an efficient way of testing if some
array elements pass certain tests.
One Line statements with some
Earlier, you might have noticed we did this:
let myArray = [ 5, 10, 15, 20, 25, 30 ]
let checkArray = myArray.some((x) => (x / 5) > 3)
// Returns true, since some elements, when divided by 5, return a number greater than 3
console.log(checkArray)
… and even though we did not return
true, the statement is still true. That is because one line functions when defined without curly brackets will return the result of a statement automatically. In this case, (x / 5) > 3
is returned by default, resulting in true
.
More Tips and Tricks for Javascript
- How to get the Full URL in Express on Node.js
- Javascript Immediately invoked function expressions (IIFE)
- How to check if a user has scrolled to the bottom of a page with vanilla Javascript
- Detecting Device Orientation with Javascript
- How to do Everything with Javascript Arrays
- Waiting for the DOM to be ready in Javascript
- Removing the last element of an array in Javascript
- Javascript Operators and Expressions
- How to Stop Using jQuery
- Javascript Arrays - How to Remove Duplicate Elements