Вы можете использовать JavaScript-метод some(), чтобы узнать, содержит ли массив JavaScript объект.

Этот метод проверяет, проходит ли хотя бы один элемент в массиве тест, реализованный предоставленной функцией. Вот пример, демонстрация, как это работает:

<script>
// Массив объектов
var persons = [{name: "Harry"}, {name: "Alice"}, {name: "Peter"}];

// Находим, содержит ли массив объект, сравнив значение свойства
if(persons.some(person => person.name === "Peter")){
    alert("Объект найден внутри массива");
} else{
    alert("Объект не найден");
}
</script>

Обратите внимание, что если попытаться найти объект внутри массива с помощью метода indexOf(), такого как persons.indexOf({name: "Harry"}), это не сработает (всегда возвращается -1). Потому что два разных объекта не равны, даже если они выглядят одинаково (т.е. имеют одинаковые свойства и значения). Точно так же два различных массива не равны, даже если они имеют одинаковые значения в одном порядке.

Метод some() поддерживается во всех основных браузерах, таких как Chrome, Firefox, IE (9 и выше) и т. д. Подробнее см. Руководство по функциям JavaScript ES6.

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.