赞
踩
假设对象唯一标识为 id,查找的几种方法如下:
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' }
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' }
关于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' }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。