在 Node.js 中,map() 函數可讓您透過轉換原始陣列的每個元素來建立新陣列。在 Go 中,陣列不如切片靈活,且不支援方法。
但是,您可以實作一個通用的 Map 函數,可用於將物件陣列轉換為其所需值的陣列。
func Map[T, U any](ts []T, f func(T) U) []U { us := make([]U, len(ts)) for i := range ts { us[i] = f(ts[i]) } return us }
fruits := []struct{ fruit string }{ {fruit: "apple"}, {fruit: "banana"}, {fruit: "cherry"}, } fruitNames := Map(fruits, func(fruit struct{ fruit string }) string { return fruit.fruit }) fmt.Println(fruitNames) // Outputs: [apple banana cherry]
雖然使用單行Map 函數很方便,但重要的是要考慮它的限制:
儘管有這些考慮,Map 函數仍然可以為 Go 中的物件陣列映射提供輕量級且優雅的解決方案。
以上是如何在 Go 中映射物件數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!