📅  最后修改于: 2023-12-03 15:02:47.442000             🧑  作者: Mango
如果你需要在数组中查找对象,可以使用 lodash
库中的一些函数。 lodash
是一个 JavaScript 实用工具库,提供了许多函数来简化和优化我们的开发过程。
首先,你需要安装 lodash
库。你可以通过 npm
或者 yarn
安装:
npm install lodash
yarn add lodash
然后,你可以在你的 JavaScript 代码中引入 lodash
库:
import _ from 'lodash'
_.find(array, [predicate=_.identity], [fromIndex=0])
find
函数接收三个参数:要查找的数组,一个 predicate
函数和可选的 fromIndex
参数(表示从哪个索引开始查找)。它会返回数组中第一个满足 predicate
函数条件的对象。
const users = [
{ userId: 1, name: 'John' },
{ userId: 2, name: 'Jane' },
{ userId: 3, name: 'Bob' },
]
const user = _.find(users, { name: 'Jane' })
console.log(user) // { userId: 2, name: 'Jane' }
_.filter(collection, [predicate=_.identity])
filter
函数接收两个参数:要查找的数组(或者对象),一个 predicate
函数。它会返回符合 predicate
函数条件的所有对象组成的新数组。
const users = [
{ userId: 1, name: 'John' },
{ userId: 2, name: 'Jane' },
{ userId: 3, name: 'Bob' },
]
const results = _.filter(users, (user) => user.name.includes('o'))
console.log(results) // [{ userId: 1, name: 'John' }, { userId: 3, name: 'Bob' }]
_.findIndex(array, [predicate=_.identity], [fromIndex=0])
findIndex
函数接收三个参数:要查找的数组,一个 predicate
函数和可选的 fromIndex
参数(表示从哪个索引开始查找)。它会返回数组中第一个满足 predicate
函数条件的对象的索引。
const users = [
{ userId: 1, name: 'John' },
{ userId: 2, name: 'Jane' },
{ userId: 3, name: 'Bob' },
]
const index = _.findIndex(users, { name: 'Jane' })
console.log(index) // 1
_.reject(collection, [predicate=_.identity])
reject
函数接收两个参数:要查找的数组(或者对象),一个 predicate
函数。它会返回符合 predicate
函数条件的所有对象组成的新数组的补集。
const users = [
{ userId: 1, name: 'John' },
{ userId: 2, name: 'Jane' },
{ userId: 3, name: 'Bob' },
]
const results = _.reject(users, (user) => user.name.includes('o'))
console.log(results) // [{ userId: 2, name: 'Jane' }]
lodash
库提供了许多函数来简化和优化数组操作。在处理包含对象的数组时,find
、filter
、findIndex
和 reject
函数尤其有用。