JavaScript 如何检查数组是否包含具有给定值的属性对象

JavaScript 如何检查数组是否包含具有给定值的属性对象

有时候,在JavaScript中处理对象数组时,我们需要确定数组中是否存在具有特定属性值的对象。这在筛选或搜索数组中特定对象时非常有用。以下是确定数组是否包含具有属性对象的常用方法:

  • 使用array.some()方法
  • 使用array.find()方法
  • 使用for循环

    方法一:使用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

方法二:使用 Array.find() 方法: Array.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

方法三:使用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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程