JavaScript 如何检查一个数组是否包含一个对象
在本文中,我们将检查一个数组是否包含一个对象。有多种方法可以检查一个数组是否包含一个对象。
使用includes()方法: 可以通过使用includes()方法来确定数组是否包含一个对象/元素。该方法如果数组包含该对象/元素则返回true,否则返回false。
语法:
array.includes( element/object, startingPosition )
示例:
此示例展示了上述解释的方法的用法。
let obj = {"geeks1": 10, "geeks2": 12}
let gfg = ["geeks1", "geeks2", obj];
/* Use JavaScript includes() method */
let num = gfg.includes(obj, 0);
console.log(num)
输出
true
使用 some() 方法:
some() 方法使用函数进行评估,对数组中每个元素执行函数一次。如果在数组中找到对象/元素,则返回 true,并停止执行剩余的元素;否则返回 false。
语法:
array.some( function(currValue, arrIndex, arrObj), this )
示例: 这个示例展示了上述解释方法的使用。
let arr = ["geeks1", "geeks2", "geeks3",
{1: "geeks4", 2: "geeks5"}];
let boolVar = arr.some(
value => { return typeof value == "object" } );
console.log(boolVar);
输出
true
使用 filter() 方法: 过滤器(filter())方法创建一个由符合条件的所有元素/对象组成的数组。
语法:
array.filter( function(currValue, arrIndex, arrObj), this )
示例: 此示例展示了上述解释的方法的使用。
let obj = { "geeks1": 10, "geeks2": 12 }
let arr = ["geeks1", "geeks2", "geeks3", obj];
if (arr.filter(value => value == obj).length > 0)
console.log("true");
else
console.log("false");
输出
true
使用 findIndex() 方法 : 如果搜索对象/元素在数组中存在,则findIndex()方法会返回搜索对象/元素的位置,并停止执行剩余的元素。如果未找到该对象/元素,则返回-1。
语法:
array.findIndex( function(currValue, arrIndex, arrObj), this )
示例: 此示例显示了上面解释的方法的使用。
let arr = ["geeks1", "geeks2", "geeks3",
{ "geeks1": 10, "geeks2": 12 }];
let num = arr.findIndex(
value => { return typeof value == "object" });
console.log("Object found at position: " + num);
输出
Object found at position: 3
极客教程