コンテンツへスキップ

useArrayFilter

カテゴリ
エクスポートサイズ
132 B
最終変更日
先週

リアクティブなArray.filter

使用方法

複数のrefの配列での使用

js
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]

リアクティブな配列での使用

js
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]

型定義

typescript
/**
 * Reactive `Array.filter`
 *
 * @see https://vueuse.dokyumento.jp/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.
 */
export declare function useArrayFilter<T, S extends T>(
  list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>,
  fn: (element: T, index: number, array: T[]) => element is S,
): ComputedRef<S[]>
export declare function useArrayFilter<T>(
  list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>,
  fn: (element: T, index: number, array: T[]) => unknown,
): ComputedRef<T[]>

ソースコード

ソースコードドキュメント

コントリビューター

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

変更ログ

v12.0.0-beta.1 2024/11/21
0a9ed - feat!: Vue 2サポートの削除、バンドルの最適化、クリーンアップ (#4349)
v11.1.0 2024/09/16
71fd1 - fix: Array.prototype.filterへの型のマッチング (#4175)
v10.0.0-beta.4 2023/04/13
4d757 - feat(types)!: MaybeComputedRefの名前変更をMaybeRefOrGetter
0a72b - feat(toValue): resolveUnrefの名前変更をtoValue

MITライセンスの下でリリースされています。