Javascript 对象数组中的indexOf()方法
在本文中,我们将学习Javascript中对象数组中的indexOf()方法。indexOf()方法提供给定元素首次出现的索引,如果不存在于数组中则返回-1。
语法:
indexOf(element)
indexOf(element, start);
参数:
- element: 要在输入数组中搜索的元素
- start: 搜索开始的索引。默认值为0
返回值:
JavaScript indexOf() 方法返回元素存在的索引值,如果元素不存在则返回-1。
要访问具有对象值的数组中对象的索引,我们将使用JavaScript的map方法来实现indexOf()方法。
JavaScript map() 方法:
该方法创建一个单独的数组,并为每个数组元素调用一个函数。该方法对数组中的每个元素调用指定的函数一次,并保持顺序。
语法:
Array.map(function(cValue, ind, Arr), tValue)
示例1: 该示例通过 map() 方法获取 val_32 的索引。
let GFG_Array = [
{
prop_1: "val_11",
prop_2: "val_12",
},
{
prop_1: "val_21",
prop_2: "val_22",
},
{
prop_1: "val_31",
prop_2: "val_32",
},
];
console.log(JSON.stringify(GFG_Array));
function gfg_Run() {
let pos = GFG_Array.map(function (e) {
return e.prop_2;
}).indexOf("val_32");
console.log(
"Index of 'val_32' value object is = " + pos
);
}
gfg_Run();
输出
[{"prop_1":"val_11","prop_2":"val_12"},{"prop_1":"val_21","prop_2":"val_22"},{"prop_1":"val_31","prop_2":"val_32"}]
Index of 'val_32' value object is = 2
示例2: 此示例未获取值,因此返回-1并打印 未找到!
// In put array of objects
let GFG_Array = [
{
prop_1: "val_11",
prop_2: "val_12",
},
{
prop_1: "val_21",
prop_2: "val_22",
},
{
prop_1: "val_31",
prop_2: "val_32",
},
];
// Display Input
console.log(JSON.stringify(GFG_Array));
// Function to check index
function gfg_Run() {
let pos = GFG_Array.map(function (e) {
return e.prop_2;
}).indexOf("val_42");
if (pos == "-1") pos = "Not Found";
// Display output
console.log(
"Index of 'val_42' value object is = " + pos
);
}
gfg_Run();
输出
[{"prop_1":"val_11","prop_2":"val_12"},{"prop_1":"val_21","prop_2":"val_22"},{"prop_1":"val_31","prop_2":"val_32"}]
Index of 'val_42' value object is = Not Found