From ab19bd6f6ac95c9ee0ee1ea656cba50c8b56a830 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 22 Aug 2023 14:16:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20slice=20=E5=8C=85=E6=96=B0=E5=A2=9E=20F?= =?UTF-8?q?ilter=20=E5=87=BD=E6=95=B0=E7=94=A8=E4=BA=8E=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=88=87=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/slice/slice.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/utils/slice/slice.go b/utils/slice/slice.go index ce52da2..c14ff73 100644 --- a/utils/slice/slice.go +++ b/utils/slice/slice.go @@ -333,3 +333,15 @@ func SubWithCheck[T any](a, b []T, checkHandle func(a, b T) bool) []T { } return result } + +// Filter 过滤切片中的元素 +// - filterHandle 返回 true 表示需要保留 +func Filter[T any](a []T, filterHandle func(a T) bool) []T { + var result []T + for _, a := range a { + if filterHandle(a) { + result = append(result, a) + } + } + return result +}