Skip to content

useArrayFilter

Category
Export Size
133 B
Last Changed
4 months ago

Reactive Array.filter

Usage

Use with array of multiple refs

ts
import { 
useArrayFilter
} from '@vueuse/core'
const
item1
=
ref
(0)
const
item2
=
ref
(2)
const
item3
=
ref
(4)
const
item4
=
ref
(6)
const
item5
=
ref
(8)
const
list
= [
item1
,
item2
,
item3
,
item4
,
item5
]
const
result
=
useArrayFilter
(
list
,
i
=>
i
% 2 === 0)
// result.value: [0, 2, 4, 6, 8]
item2
.
value
= 1
// result.value: [0, 4, 6, 8]

Use with reactive array

ts
import { 
useArrayFilter
} from '@vueuse/core'
const
list
=
ref
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
const
result
=
useArrayFilter
(
list
,
i
=>
i
% 2 === 0)
// result.value: [0, 2, 4, 6, 8]
list
.
value
.
shift
()
// result.value: [2, 4, 6, 8]

Type Declarations

ts
export type 
UseArrayFilterReturn
<
T
= any> =
ComputedRef
<
T
[]>
/** * Reactive `Array.filter` * * @see https://vueuse.org/useArrayFilter * @param list - the array was called upon. * @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array. * * @returns a shallow copy of a portion of the given array, filtered down to just the elements from the given array that pass the test implemented by the provided function. If no elements pass the test, an empty array will be returned. * * @__NO_SIDE_EFFECTS__ */ export declare function
useArrayFilter
<
T
,
S
extends
T
>(
list
:
MaybeRefOrGetter
<
MaybeRefOrGetter
<
T
>[]>,
fn
: (
element
:
T
,
index
: number,
array
:
T
[]) =>
element
is
S
,
):
UseArrayFilterReturn
<
S
>
export declare function
useArrayFilter
<
T
>(
list
:
MaybeRefOrGetter
<
MaybeRefOrGetter
<
T
>[]>,
fn
: (
element
:
T
,
index
: number,
array
:
T
[]) => unknown,
):
UseArrayFilterReturn
<
T
>

Source

SourceDocs

Contributors

Anthony Fu
Anthony Fu
SerKo
Robin
IlyaL
Jesse205
Levi (Nguyễn Lương Huy)
Levi (Nguyễn Lương Huy)

Changelog

v13.6.0 on
d32f8 - refactor: add @__NO_SIDE_EFFECTS__ annotations to all pure functions (#4907)
v13.1.0 on
c1d6e - feat(shared): ensure return types exists (#4659)
v12.8.0 on
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
v12.3.0 on
59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v11.1.0 on
71fd1 - fix: match type to Array.prototype.filter (#4175)

Released under the MIT License.

Black Friday Early Bird
Get 60% off + 7 premium Vue mastery bonuses
4 Workshops + 2 AI Courses + Certification
Buy Now
TIME LMITED OFFER