diff options
author | Ninni Pipping <over999ships@gmail.com> | 2023-04-03 21:12:13 +0200 |
---|---|---|
committer | Yuri Sizov <yuris@humnom.net> | 2023-04-24 14:04:20 +0200 |
commit | 9902d07966ee5a7c804107a440585ade324c1d05 (patch) | |
tree | c7ebdcc67faa53fa1e9ff483711122c37109de2c | |
parent | ce7fd66896c950f8532198b6754ab5d65e7ce231 (diff) |
Document how to make custom min/max for Array
(cherry picked from commit 96ab31a7117c110da025a39390bdecf36892e7fa)
-rw-r--r-- | doc/classes/Array.xml | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 86f8f357f8..fb35fc7a98 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -441,12 +441,23 @@ <return type="Variant" /> <description> Returns the maximum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. + To find the maximum value using a custom comparator, you can use [method reduce]. In this example every array element is checked and the first maximum value is returned: + [codeblock] + func _ready(): + var arr = [Vector2(0, 1), Vector2(2, 0), Vector2(1, 1), Vector2(1, 0), Vector2(0, 2)] + # In this example we compare the lengths. + print(arr.reduce(func(max, val): return val if is_length_greater(val, max) else max)) + + func is_length_greater(a, b): + return a.length() > b.length() + [/codeblock] </description> </method> <method name="min" qualifiers="const"> <return type="Variant" /> <description> Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned. + See also [method max] for an example of using a custom comparator. </description> </method> <method name="pick_random" qualifiers="const"> |