Как проверить, что массив содержит объект атрибута с заданным значением в JavaScript?

Лучшие проекты JavaScript для начинающих Программирование и разработка

Иногда при работе с массивом объектов в JavaScript нам нужно определить, существует ли в массиве объект с определенным значением атрибута. Это может быть полезно при фильтрации или поиске определенных объектов в массиве. Ниже приведены общие методы определения, содержит ли массив объект с атрибутом.

  • Using array.some() method
  • Using array.find() method
  • Using for loop

Подход 1. Использование метода Array.some(). Метод Javascript array.some() проверяет, удовлетворяет ли хотя бы один из элементов массива условию, проверенному методом аргумента. В этом подходе мы используем метод some() для поиска элемента питания в массиве меню продуктов питания, если искомый элемент питания присутствует в массиве меню продуктов питания, он возвращает значение true, в противном случае он возвращает значение false.

Синтаксис

array.some((element, index, array) => {
    // Code to test if element matches the condition
});

Пример: Здесь мы используем описанный выше подход.

Javascript

const foodmenu = [
    { Item: "Masala Dosa", price: 60 },
    { Item: "Ice-cream", price: 35 },
    { Item: "Idli", price: 30 },
];
 
const searchItem = "buttermilk";
 
const containsObject =
    foodmenu.some((obj) => obj.Item === searchItem);
 
if (containsObject) {
    console.log
        (`'${searchItem} is present in our Foodmenu'`);
} else {
    console.log
        (` '${searchItem}' is not present in our Foodmenu`);
};

Выход:

'buttermilk' is not present in our Foodmenu

Подход 2. Использование метода Array.find(). Метод find() возвращает первый элемент в массиве, который удовлетворяет предоставленной функции проверки. Если ни один элемент не удовлетворяет функции, возвращается undefined.

Синтаксис:

array.find((element, index, array) => {
    // Code to test if element matches the condition
});

Пример: Вот как мы можем использовать find(), чтобы определить, содержит ли массив объект с атрибутом, равным заданному значению:

Javascript

const foodmenu = [
    { Item: "Masala Dosa", Price: 60 },
    { Item: "Ice-cream", Price: 35 },
    { Item: "Idli", Price: 30 },
];
 
const searchItem = "Idli";
 
const foundObject =
    foodmenu.find((obj) => obj.Item === searchItem);
 
if (foundObject) {
    console.log
        (`'${searchItem}' is present in our Foodmmenu`);
} else {
    console.log
        (`'${searchItem}' is not present in our Foodmenu`);
};

Выход:

'Idli' is present in our Foodmmenu

Подход 3: Использование цикла for : цикл for — это многократное выполнение набора инструкций до тех пор, пока какое-либо условие не будет оценено и не станет ложным. в этом подходе мы используем цикл for для определения объекта в массиве

Синтаксис:

for (let i = 0; i < array.length; i++) {
    if (array[i].attribute === searchValue) {
        // Code to handle matching element
    }
}

Пример: В этом примере мы используем описанный выше подход.

Javascript

const foodmenu = [
    { Item: "Masala-Dosa", Price: 60 },
    { Item: "Ice-cream", Price: 35 },
    { Item: "Idli", Price: 30 },
];
 
const searchItem = "Masala-Dosa";
let found = false;
 
for (let i = 0; i < foodmenu.length; i++) {
    if (foodmenu[i].Item === searchItem) {
        found = true;
        break;
    }
}
 
if (found) {
    console.log
        (`'${searchItem}' is present in our Foodmenu`);
} else {
    console.log
        (`'${searchItem}' is not present in our Foodmenu`);
};

Выход:

'Masala-Dosa' is present in our Foodmenu

Читайте также:  Строка Python в Dict
Оцените статью
bestprogrammer.ru
Добавить комментарий