
Как использовать метод 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 г.