当前位置:   article > 正文

查找对象数组中的指定对象_对象数组中找获取某个对象

对象数组中找获取某个对象

查找对象数组中的指定对象

假设对象唯一标识为 id,查找的几种方法如下:

1、for循环遍历

const array = [
  { id: 1, name: '对象1' },
  { id: 2, name: '对象2' },
  { id: 3, name: '对象3' }
];
const targetId = 2;
let targetObject;
for (let i = 0; i < array.length; i++) {
  if (array[i].id === targetId) {
    targetObject = array[i];
    break;
  }
}
console.log(targetObject); // 输出:{ id: 2, name: '对象2' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2、find方法

find()方法简介:可用查找出当前数组中第一个符合筛选条件的元素(不是下标)。
若当前数组中有符合筛选条件的元素,则返回第一个符合筛选条件的元素。
若没有符合条件的元素,则返回undefined
不修改原数组

const array = [
  { id: 1, name: '对象1' },
  { id: 2, name: '对象2' },
  { id: 3, name: '对象3' }
];
const targetId = 2;
const targetObject = array.find(obj => obj.id === targetId);
console.log(targetObject); // 输出:{ id: 2, name: '对象2' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3、filter方

关于filter方法见之前的es6

const array = [
  { id: 1, name: '对象1' },
  { id: 2, name: '对象2' },
  { id: 3, name: '对象3' }
];
const targetId = 2;
const targetObject = array.filter(obj => obj.id === targetId)[0];//filter方法返回一个新数组,直接用[0]取出第一个元素即为要查找的对象
console.log(targetObject); // 输出:{ id: 2, name: '对象2' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/113420
推荐阅读