Как использовать метод Array some() в Javascript
Определение
Вы можете использовать метод some
, чтобы проверить, проходит ли хотя бы один элемент в массиве указанный вами тест. Если вам нужно проверить, все ли элементы проходят проверку, вместо этого следует использовать метод every
.
myArray.some(callbackFunction, thisArg?)
Аргумент callbackFunction
— это функция, которая проверяет элементы массива. Он выполняется для каждого элемента массива, начиная с самого начала. Если функция возвращает истинное значение для элемента (тест пройден), метод some
вернет true
. Остальные элементы не проверяются.
callbackFunction
имеет три аргумента:
element
- текущий элемент в массиве.index
- индекс текущего элемента в массиве.array
— ссылка на массив, для которого вы вызвали методsome
.
Аргумент thisArg
— это значение, которое будет использоваться как ключевое слово this
при выполнении callbackFunction
. Этот аргумент является необязательным.
Возвращаемое значение
Возвращает true
, если callbackFunction
возвращает истинное значение для одного элемента в массиве, иначе возвращает false
.
Примечание
Если вы используете метод some
для пустого массива, он всегда будет возвращать false
.
Пример
Предположим, у вас есть список оценок, и вы хотите проверить, есть ли какие-либо учащиеся, которые сдали его. Вы можете просмотреть массив оценок, используя цикл for
, но это будет довольно многословно:
let hasPassingGrades = false const grades = [75, 10, 81, 100, 45] for (let i = 0; i < grades.length; i++) { if (grades[i] >= 80) { hasPassingGrades = true break } } console.log(hasPassingGrades) // true
Вместо этого вы можете использовать метод some
, который сделает код очень кратким и понятным:
function isPassingGrade(element, index, array) { return element >= 80 } const grades = [75, 10, 81, 100, 45] console.log(grades.some(isPassingGrade)) // true
Вы также можете использовать сокращенный синтаксис стрелки для callbackFunction
:
const grades = [75, 10, 81, 100, 45] console.log(grades.some((element) => element >= 80)) // true
Первоначально опубликовано на https://konsole.blog 21 мая 2022 г.