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
- What are NodeLists, and how do they work?
- Javascript Variables
- The Complete Guide to JavaScript Set Type
- Future Javascript: Javascript Pipeline Operators
- Checking if a value is a number in Javascript with isNaN()
- How to Auto Generate Images with Node.JS and Canvas
- Creating a NodeJS Push Notification System with Service Workers
- Using the New Google Analytics API to Get Most Popular Pages
- How to select HTML elements in Javascript
- Javascript Ordinals: Adding st, nd, rd and th suffixes to a number