summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
authorNinni Pipping <over999ships@gmail.com>2023-04-03 21:12:13 +0200
committerYuri Sizov <yuris@humnom.net>2023-04-24 14:04:20 +0200
commit9902d07966ee5a7c804107a440585ade324c1d05 (patch)
treec7ebdcc67faa53fa1e9ff483711122c37109de2c /doc/classes
parentce7fd66896c950f8532198b6754ab5d65e7ce231 (diff)
Document how to make custom min/max for Array
(cherry picked from commit 96ab31a7117c110da025a39390bdecf36892e7fa)
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/Array.xml11
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() &gt; 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">