// Package op_array ... // // Description : op_array ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2025-11-25 11:30 package op_array // ToMap 数组转map func ToMap[Key comparable, Value any](dataList []Value, keyFormat func(item Value) Key) map[Key]Value { res := make(map[Key]Value) for _, item := range dataList { key := keyFormat(item) res[key] = item } return res } // ExtractField 提取数组指定字段, 并构建成一个新的数组 func ExtractField[FieldValue any, Value any](dataList []Value, fieldValue func(item Value) FieldValue) []FieldValue { res := make([]FieldValue, 0) for _, item := range dataList { v := fieldValue(item) res = append(res, v) } return res } // Filter 过滤列表数据 func Filter[Value any](dataList []Value, filterValue func(item Value) bool) []Value { res := make([]Value, 0) for _, item := range dataList { if filterValue(item) { res = append(res, item) } } return res }