获取数组中对象的下标(index)是JS开发中经常遇到的问题。以下是获取对象在数组中的index的完整攻略。
1. 使用for循环遍历数组
遍历数组中的对象,直到找到符合条件的对象,返回其下标。示例如下:
const arr = [
{ name: '张三' },
{ name: '李四' },
{ name: '王五' },
];
function getObjectIndex(arr, obj) {
for (let i = 0; i < arr.length; i++) {
if (JSON.stringify(arr[i]) === JSON.stringify(obj)) {
return i;
}
}
return -1;
}
const obj = { name: '李四' };
const index = getObjectIndex(arr, obj);
console.log(index);
// Output: 1
上述代码中的getObjectIndex
函数使用for循环遍历数组arr
中的对象,直到找到与参数obj
相等的对象,返回其下标。当未找到该对象时,返回-1。
2. 使用Array.prototype.findIndex方法
Array.prototype.findIndex()
方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1,示例如下:
const arr = [
{ name: '张三' },
{ name: '李四' },
{ name: '王五' },
];
function findObjectIndex(arr, obj) {
return arr.findIndex(item => JSON.stringify(item) === JSON.stringify(obj));
}
const obj = { name: '王五' };
const index = findObjectIndex(arr, obj);
console.log(index);
// Output: 2
上述代码使用ES6语法的Array.prototype.findIndex()
方法返回数组中满足提供的测试函数的第一个元素的索引,当未找到该对象时,返回-1。
通过上述两个方法的比较,我们可以发现使用Array.prototype.findIndex()
方法相比遍历数组的方式更加简洁。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js如何获取对象在数组中的index - Python技术站