Skip to content

useArrayMap

Category
Export Size
129 B
Last Changed
2 months ago

Reactive Array.map

Usage

Use with array of multiple refs

ts
import { 
useArrayMap
} 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
=
useArrayMap
(
list
,
i
=>
i
* 2)
// result.value: [0, 4, 8, 12, 16]
item1
.
value
= 1
// result.value: [2, 4, 8, 12, 16]

Use with reactive array

ts
import { 
useArrayMap
} from '@vueuse/core'
const
list
=
ref
([0, 1, 2, 3, 4])
const
result
=
useArrayMap
(
list
,
i
=>
i
* 2)
// result.value: [0, 2, 4, 6, 8]
list
.
value
.
pop
()
// result.value: [0, 2, 4, 6]

Type Declarations

ts
export type 
UseArrayMapReturn
<
T
= any> =
ComputedRef
<
T
[]>
/** * Reactive `Array.map` * * @see https://vueuse.org/useArrayMap * @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 new array with each element being the result of the callback function. * * @__NO_SIDE_EFFECTS__ */ export declare function
useArrayMap
<
T
,
U
=
T
>(
list
:
MaybeRefOrGetter
<
MaybeRefOrGetter
<
T
>[]>,
fn
: (
element
:
T
,
index
: number,
array
:
T
[]) =>
U
,
):
UseArrayMapReturn
<
U
>

Source

SourceDocs

Contributors

Anthony Fu
Anthony Fu
SerKo
Robin
IlyaL
Young
plylrnsdy
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)
Turn AI into a coding partner
Claim 40% off for AIDD Masterclass.
Get discount