This article is the sixth of the Array Method Series. In this article, I will explain what the some
Array method is.
What is the Some Method?
The some
method of arrays is a higher-order function that tests if at least one item in the array meets a certain condition. If one item meets it, it returns true
, and if no item meets it, it returns false
.
This method does not modify the array. It only loops through and applies a condition on each item until it finds the one that matches. This means that if it finds an element that matches, it doesn't continue looping the remaining items in the array. It immediately returns true
.
Syntax of the Some Method
array.some(function(item, index, array){
// condition to test item with
// return true or false
})
The callbackFunction
passed to the some
method is applied to each item in the array until it finds the item that matches the condition in the function.
The arguments passed to the callback function in each loop are the item
, the index
of the item, and the original array
.
Without the Some Method
The some
method is an abstracted function that does a quick check and stops at the first item that passes a certain criterion. Here's an example imitating the some
method:
const array = [1, 2, 3, 4, 5, 6, 7, 8]
let hasEvenNumber = false
for (let i = 0; i < array.length; i++) {
const item = array[i]
console.log(item)
if (item % 2 === 0) {
hasEvenNumber = true
break
}
}
console.log(hasEvenNumber)
// 1
// 2
// true
This loop approach is similar to what the some
method does in the background. It loops through each item, and when it finds the item that matches the specified condition, it stops the loop and returns true
.
With the Some Method
Here's how you achieve the previous result with some
:
const array = [1, 2, 3, 4, 5, 6, 7, 8]
const hasEvenNumber = array.some(item => {
console.log(item)
return item % 2 === 0
})
console.log(hasEvenNumber)
// 1
// 2
// true
From the result, you can see the first log 1
, which is the item in the first loop, 2
, the item in the second loop, and since 2
matches the condition, some
stops the loop and immediately returns true
.
The some
method is useful when you have different values in an array, and you want to assert that at least one item meets a condition or that no items meet a condition.
Top comments (4)
Love this series.
I'm glad you do :)
Thanks a lot
You're welcome