<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://witterpedia.thesamsmith.co.uk/index.php?action=history&amp;feed=atom&amp;title=Module%3AArray%2Fdoc</id>
	<title>Module:Array/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://witterpedia.thesamsmith.co.uk/index.php?action=history&amp;feed=atom&amp;title=Module%3AArray%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://witterpedia.thesamsmith.co.uk/index.php?title=Module:Array/doc&amp;action=history"/>
	<updated>2026-04-19T22:53:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://witterpedia.thesamsmith.co.uk/index.php?title=Module:Array/doc&amp;diff=88&amp;oldid=prev</id>
		<title>Fecsmith: Created page with &quot;{{Documentation}} {{Helper module |name = Array  |fname1 = &lt;nowiki&gt;all(&amp;nbsp;arr, [fn]&amp;nbsp;)&lt;/nowiki&gt; |ftype1 = &lt;samp&gt;arr: any[]&lt;/samp&gt;&lt;br&gt;&lt;samp&gt;fn?: any&lt;/samp&gt;&lt;br&gt;&lt;samp&gt;-&gt; boolean&lt;/samp&gt; |fuse1 = Behaviour depends on the value of &lt;code&gt;fn&lt;/code&gt;:  * &lt;code&gt;nil&lt;/code&gt; - Checks that the array doesn&#039;t contain any &#039;&#039;&#039;false&#039;&#039;&#039; elements. * &lt;code&gt;fun(elem: any, i?: integer): boolean&lt;/code&gt; - Returns &#039;&#039;&#039;true&#039;&#039;&#039; if &lt;code&gt;fn&lt;/code&gt; returns &#039;&#039;&#039;true&#039;&#039;&#039; for every element. * &lt;code&gt;nu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://witterpedia.thesamsmith.co.uk/index.php?title=Module:Array/doc&amp;diff=88&amp;oldid=prev"/>
		<updated>2025-03-13T00:17:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Documentation}} {{Helper module |name = Array  |fname1 = &amp;lt;nowiki&amp;gt;all( arr, [fn] )&amp;lt;/nowiki&amp;gt; |ftype1 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt; |fuse1 = Behaviour depends on the value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;:  * &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; - Checks that the array doesn&amp;#039;t contain any &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; elements. * &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; if &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; for every element. * &amp;lt;code&amp;gt;nu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Documentation}}&lt;br /&gt;
{{Helper module&lt;br /&gt;
|name = Array&lt;br /&gt;
&lt;br /&gt;
|fname1 = &amp;lt;nowiki&amp;gt;all(&amp;amp;nbsp;arr, [fn]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype1 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse1 = Behaviour depends on the value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; - Checks that the array doesn&amp;#039;t contain any &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; elements.&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; if &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; for every element.&lt;br /&gt;
* &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - Checks that all elements in &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; are equal to this value.&lt;br /&gt;
&lt;br /&gt;
|fname2 = &amp;lt;nowiki&amp;gt;any(&amp;amp;nbsp;arr, [fn]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype2 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse2 = Behaviour depends on the value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; - Checks that the array contains at least one non &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; element.&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; if &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; for at least one element.&lt;br /&gt;
* &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; - Checks that &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; contains this value.&lt;br /&gt;
&lt;br /&gt;
|fname3 = &amp;lt;nowiki&amp;gt;clean(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype3 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse3 = Recursively removes all metatables.&lt;br /&gt;
&lt;br /&gt;
|fname4 = &amp;lt;nowiki&amp;gt;clone(&amp;amp;nbsp;arr, [deep]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype4 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;deep?: boolean&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse4 = Make a copy of the input table. Preserves metatables.&lt;br /&gt;
&lt;br /&gt;
|fname5 = &amp;lt;nowiki&amp;gt;contains(&amp;amp;nbsp;arr, val&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype5 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;val: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse5 = Check if &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; contains &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname6 = &amp;lt;nowiki&amp;gt;containsAny(&amp;amp;nbsp;arr, t&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype6 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;t: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse6 = Check if &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; contains any of the values in the table &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname7 = &amp;lt;nowiki&amp;gt;containsAll(&amp;amp;nbsp;arr, t&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype7 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;t: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse7 = Check if &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; contains all values in the table &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname8 = &amp;lt;nowiki&amp;gt;convolve(&amp;amp;nbsp;x, y&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype8 = &amp;lt;samp&amp;gt;x: number[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;y: number[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; number[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse8 = Convolute two number arrays.&lt;br /&gt;
&lt;br /&gt;
|fname9 = &amp;lt;nowiki&amp;gt;condenseSparse(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype9 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse9 = Remove &amp;#039;&amp;#039;&amp;#039;nil&amp;#039;&amp;#039;&amp;#039; values from &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; while preserving order.&lt;br /&gt;
&lt;br /&gt;
|fname10 = &amp;lt;nowiki&amp;gt;count(&amp;amp;nbsp;arr, fn&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype10 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; integer&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse10 = Behaviour depends on value of &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt; - Counts the number of non &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; elements.&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any): boolean&amp;lt;/code&amp;gt; - Count the number of times the function returned &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; - Counts the number of times this value occurs in &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname11 = &amp;lt;nowiki&amp;gt;diff(&amp;amp;nbsp;arr, [order|1]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype11 = &amp;lt;samp&amp;gt;arr: number[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;order?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; number[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse11 = Differentiates &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;. The length of the result is &amp;lt;code&amp;gt;#arr - order&amp;lt;/code&amp;gt; long.&lt;br /&gt;
&lt;br /&gt;
|fname12 = &amp;lt;nowiki&amp;gt;each(&amp;amp;nbsp;arr, fn&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype12 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any, i?: integer)&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse12 = Loops over the array part of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; and passes each element as the first argument to &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;. This function returns nothing.&lt;br /&gt;
&lt;br /&gt;
|fname13 = &amp;lt;nowiki&amp;gt;filter(&amp;amp;nbsp;arr, fn&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype13 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse13 = Makes a copy of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; with only elements for which &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returned &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|fname14 = &amp;lt;nowiki&amp;gt;find(&amp;amp;nbsp;arr, fn, [default]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype14 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;default?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any?, integer?&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse14 = Behaviour depends on the value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Find the first elements for which &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; - Find the first occurance of this value.&lt;br /&gt;
&lt;br /&gt;
Returns two values: the element itself and its index.&lt;br /&gt;
&lt;br /&gt;
|fname15 = &amp;lt;nowiki&amp;gt;find_index(&amp;amp;nbsp;arr, fn, [default]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype15 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;default?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; integer?&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse15 = Behaviour depends on the value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Find the index of the first elements for which &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; - Find the index of the first occurance of this value.&lt;br /&gt;
&lt;br /&gt;
|fname16 = &amp;lt;nowiki&amp;gt;get(&amp;amp;nbsp;arr, indexes&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype16 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;indexes: integer{{!}}integer[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse16 = Extracts a subset of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname17 = &amp;lt;nowiki&amp;gt;int(&amp;amp;nbsp;arr, [start|1], [stop|#arr]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype17 = &amp;lt;samp&amp;gt;arr: number[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;start?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;stop?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; number[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse17 = Integrates &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; from index &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt;. Effectively does &amp;lt;math&amp;gt;\left\{\sum^{n}_{start}{arr[n]} \,\Bigg|\, n \in [start, stop]\right\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname18 = &amp;lt;nowiki&amp;gt;intersect(&amp;amp;nbsp;arr1, arr2&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype18 = &amp;lt;samp&amp;gt;arr1: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;arr2: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse18 = Returns an array with elements that are present in both tables.&lt;br /&gt;
&lt;br /&gt;
|fname19 = &amp;lt;nowiki&amp;gt;intersects(&amp;amp;nbsp;arr1, arr2&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype19 = &amp;lt;samp&amp;gt;arr1: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;arr2: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; boolean&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse19 = Checks if the two inputs have at least one element in common.&lt;br /&gt;
&lt;br /&gt;
|fname20 = &amp;lt;nowiki&amp;gt;insert(&amp;amp;nbsp;arr, val, [index], [unpackVal]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;;;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;insert(&amp;amp;nbsp;arr, val, [unpackVal]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype20 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;val: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;index?: integer&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;unpackVal?: boolean&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse20 = Inserts values into &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;. If &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt; is an array and &amp;lt;code&amp;gt;unpackVal&amp;lt;/code&amp;gt; is &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; then the individual elements of &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt; are inserted. &amp;lt;code&amp;gt;index&amp;lt;/code&amp;gt; is the location to start the insertion. Default is at the end of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname21 = &amp;lt;nowiki&amp;gt;last(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype21 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse21 = Returns the last element of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname22 = &amp;lt;nowiki&amp;gt;len(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype22 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; integer&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse22 = Returns the length of the array but it also works on proxy arrays like mw.loadData or mw.loadJsonData.&lt;br /&gt;
&lt;br /&gt;
|fname23 = &amp;lt;nowiki&amp;gt;map(&amp;amp;nbsp;arr, fn&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype23 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any, i?: integer): any&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse23 = Returns a new table were each element of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; is modified by &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname24 = &amp;lt;nowiki&amp;gt;max_by(&amp;amp;nbsp;arr, fn&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype24 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any): any&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any, integer&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse24 = Find the element for which &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; returned the largest value. The returned value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; needs to be comparable using the &amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; operator. Returns three values: The element with the largest &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; value, its &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; result, and its index.&lt;br /&gt;
&lt;br /&gt;
|fname25 = &amp;lt;nowiki&amp;gt;max(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype25 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any, integer&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse25 = Find the largest value in the array. The values need to be comparable using the &amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; operator. Returns two values: the element and its index.&lt;br /&gt;
&lt;br /&gt;
|fname26 = &amp;lt;nowiki&amp;gt;min(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype26 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any, integer&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse26 = Find the smallest value in the array. The values need to be comparable using the &amp;lt;code&amp;gt;&amp;lt;&amp;lt;/code&amp;gt; operator. Returns two values: the element and its index.&lt;br /&gt;
&lt;br /&gt;
|fname27 = &amp;lt;nowiki&amp;gt;new(&amp;amp;nbsp;[arr|{}]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype27 = &amp;lt;samp&amp;gt;arr?: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse27 = Turn the input table into an Array. This makes it possible to use the colon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; operator to access the Array methods. It also enables the use of math operators with the array.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local x = arr.new{ 1, 2, 3 }&lt;br /&gt;
local y = arr{ 4, 5, 6 } -- Alternative notation&lt;br /&gt;
&lt;br /&gt;
mw.logObject( -x ) --&amp;gt; { -1, -2, -3 }&lt;br /&gt;
mw.logObject( x + 2 ) --&amp;gt; { 3, 4, 5 }&lt;br /&gt;
mw.logObject( x - 2 ) --&amp;gt; { -1, 0, 1 }&lt;br /&gt;
mw.logObject( x * 2 ) --&amp;gt; { 2, 4, 6 }&lt;br /&gt;
mw.logObject( x / 2 ) --&amp;gt; { 0.5, 1, 1.5 }&lt;br /&gt;
mw.logObject( x ^ 2 ) --&amp;gt; { 1, 4, 9 }&lt;br /&gt;
&lt;br /&gt;
mw.logObject( x + y ) --&amp;gt; { 5, 7, 9 }&lt;br /&gt;
mw.logObject( x .. y ) --&amp;gt; { 1, 2, 3, 4, 5, 6 }&lt;br /&gt;
mw.logObject( (x .. y):reject{3, 4, 5} ) --&amp;gt; { 1, 2, 6 }&lt;br /&gt;
mw.logObject( x:sum() ) --&amp;gt; 6&lt;br /&gt;
&lt;br /&gt;
mw.logObject( x:update( {1, 3}, y:get{2, 3} * 2 ) ) --&amp;gt; { 10, 2, 12 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|fname28 = &amp;lt;nowiki&amp;gt;newIncrementor(&amp;amp;nbsp;[start|1], [step|1]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype28 = &amp;lt;samp&amp;gt;start?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;step?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; Incrementor&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse28 = Returns a new incrementor function. Every time this incrementor function is called it returns a number &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt; higher than the previous call. The current value can be obtained with &amp;lt;code&amp;gt;inc.n&amp;lt;/code&amp;gt; or set &amp;lt;code&amp;gt;inc.n = number&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;inc&amp;lt;/code&amp;gt; is an incrementor function. The step size can be changed with &amp;lt;code&amp;gt;inc.step = number&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname29 = &amp;lt;nowiki&amp;gt;range(&amp;amp;nbsp;stop&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;;;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;range(&amp;amp;nbsp;start, stop, [step|1]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype29 = &amp;lt;samp&amp;gt;start: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;stop: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;step?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; number[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse29 = Returns a table containing a sequence of numbers from &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; (both inclusive if ints, end-exclusive if floats) by &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;range(4)&amp;lt;/code&amp;gt; produces &amp;lt;code&amp;gt;{1, 2, 3, 4}&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; defaults to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;range(0, 4)&amp;lt;/code&amp;gt; produces &amp;lt;code&amp;gt;{0, 1, 2, 3, 4}&amp;lt;/code&amp;gt;. When &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt; is given, it specifies the increment (or decrement).&lt;br /&gt;
&lt;br /&gt;
|fname30 = &amp;lt;nowiki&amp;gt;reduce(&amp;amp;nbsp;arr, fn, [accumulator|arr[1]]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype30 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any, acc: any, i?: integer): any&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;accumulator?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse30 = Condenses the array into a single value.&lt;br /&gt;
&lt;br /&gt;
For each element &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; is called with the current element, the current accumulator, and the current element index. The returned value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; becomes the accumulator for the next element.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;code&amp;gt;accumulator&amp;lt;/code&amp;gt; value is given at the start then the first element off &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; becomes the accumulator and the iteration starts from the second element.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local t = { 1, 2, 3, 4 }&lt;br /&gt;
local sum = arr.reduce( t, function(elem, acc) return acc + elem end ) -- sum == 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|fname31 = &amp;lt;nowiki&amp;gt;reject(&amp;amp;nbsp;arr, val&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype31 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;val: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse31 = Make a copy off &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; with certain values removed.&lt;br /&gt;
&lt;br /&gt;
Behaviour for different values of &amp;lt;code&amp;gt;val&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt; {{!}} &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; - Remove values equal to this.&lt;br /&gt;
* &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; - Remove all values in this table.&lt;br /&gt;
* &amp;lt;code&amp;gt;fun(elem: any, i?: integer): boolean&amp;lt;/code&amp;gt; - Remove elements for which the functions returns &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|fname32 = &amp;lt;nowiki&amp;gt;rep(&amp;amp;nbsp;val, n&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype32 = &amp;lt;samp&amp;gt;val: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;n: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse32 = Returns a table with &amp;lt;samp&amp;gt;n&amp;lt;/samp&amp;gt; copies of &amp;lt;samp&amp;gt;val&amp;lt;/samp&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname33 = &amp;lt;nowiki&amp;gt;scan(&amp;amp;nbsp;arr, fn, [accumulator|arr[1]]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype33 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn: &amp;lt;code&amp;gt;fun(elem: any, acc: any, i?: integer): any&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;accumulator?: any&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse33 = Condenses the array into a single value while saving every accumulator value.&lt;br /&gt;
&lt;br /&gt;
For each element &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; is called with the current element, the current accumulator, and the current element index. The returned value of &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; becomes the accumulator for the next element.&lt;br /&gt;
&lt;br /&gt;
If no &amp;lt;code&amp;gt;accumulator&amp;lt;/code&amp;gt; value is given at the start then the first element off &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; becomes the accumulator and the iteration starts from the second element.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local t = { 1, 2, 3, 4 }&lt;br /&gt;
local x = arr.scan( t, function(elem, acc) return acc + elem end ) -- x = { 1, 3, 6, 10 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|fname34 = &amp;lt;nowiki&amp;gt;set(&amp;amp;nbsp;arr, indexes, values&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype34 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;indexes: integer{{!}}integer[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;values: any{{!}}any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse34 = Update a range of index with a range of values.&lt;br /&gt;
&lt;br /&gt;
If if only one value is given but multiple indexes than that value is set for all those indexes.&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;values&amp;lt;/code&amp;gt; is a table then it must of the same length as &amp;lt;code&amp;gt;indexes&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname35 = &amp;lt;nowiki&amp;gt;slice(&amp;amp;nbsp;arr, [start|1], [stop|#arr]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;;;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;slice(&amp;amp;nbsp;arr, stop&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype35 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;start?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;stop?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse35 = Returns a table containing all the elements of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; between the &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; indices. The &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; indices are inclusive. If &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;stop&amp;lt;/code&amp;gt; are negative values then they are referenced to the end of the table.&lt;br /&gt;
&lt;br /&gt;
|fname36 = &amp;lt;nowiki&amp;gt;split(&amp;amp;nbsp;arr, index&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype36 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;index: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[], any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse36 = Split &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; into two arrays. Retuns two tables. The first contains elements from [1, index], and the second from [index + 1, #arr].&lt;br /&gt;
&lt;br /&gt;
|fname37 = &amp;lt;nowiki&amp;gt;sum(&amp;amp;nbsp;arr&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype37 = &amp;lt;samp&amp;gt;arr: number[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; number&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse37 = Returns the sum of all elements of &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
|fname38 = &amp;lt;nowiki&amp;gt;take(&amp;amp;nbsp;arr, count, [start|1]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype38 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;count: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;start?: number&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse38 = Extract a subtable from &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt; of &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; elements long starting from the &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt; index.&lt;br /&gt;
&lt;br /&gt;
|fname39 = &amp;lt;nowiki&amp;gt;take_every(&amp;amp;nbsp;arr, n, [start|1], [count|#arr]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype39 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;n: integer&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;start?: integer&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;count?: integer&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse39 = Extract a subtable from &amp;lt;code&amp;gt;arr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local t = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }&lt;br /&gt;
local x = arr.take_every( t, 2 )       --&amp;gt; x = { 1, 3, 5, 7, 9 }&lt;br /&gt;
local x = arr.take_every( t, 2, 3 )    --&amp;gt; x = { 3, 5, 7, 9 }&lt;br /&gt;
local x = arr.take_every( t, 2, 3, 2 ) --&amp;gt; x = { 3, 5 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|fname40 = &amp;lt;nowiki&amp;gt;unique(&amp;amp;nbsp;arr, [fn]&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype40 = &amp;lt;samp&amp;gt;arr: any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;fn?: &amp;lt;code&amp;gt;fun(elem: any): any&amp;lt;/code&amp;gt;&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse40 = Return a new table with all duplicates removed. &amp;lt;code&amp;gt;fn&amp;lt;/code&amp;gt; is an optional function to generate an id for each element. The result will then contain elements that generated unique ids. The order of first occurance is preserved.&lt;br /&gt;
&lt;br /&gt;
|fname41 = &amp;lt;nowiki&amp;gt;zip(&amp;amp;nbsp;...&amp;amp;nbsp;)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|ftype41 = &amp;lt;samp&amp;gt;...any[]&amp;lt;/samp&amp;gt;&amp;lt;br&amp;gt;&amp;lt;samp&amp;gt;-&amp;gt; any[][]&amp;lt;/samp&amp;gt;&lt;br /&gt;
|fuse41 = Combine elements with the same index from multiple arrays.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local x = {1, 2, 3}&lt;br /&gt;
local y = {4, 5, 6, 7}&lt;br /&gt;
local z = arr.zip( x, y ) --&amp;gt; z = { { 1, 4 }, { 2, 5 }, { 3, 6 }, { 7 } }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|example =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;#039;lua&amp;#039;&amp;gt;&lt;br /&gt;
local arr = require( &amp;#039;Module:Array&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
local x = arr{1, 2, 3, 4, 10}&lt;br /&gt;
local y = arr{&amp;#039;a&amp;#039;, &amp;#039;b&amp;#039;, &amp;#039;b&amp;#039;, 1}&lt;br /&gt;
&lt;br /&gt;
arr.any( x, function( item ) return item == 3 end ) --&amp;gt; true&lt;br /&gt;
arr.all( y, function( item ) return type( item ) == &amp;#039;string&amp;#039; end ) --&amp;gt; false&lt;br /&gt;
arr.map( x, function( item ) return item * 2 end ) --&amp;gt; { 2, 4, 6, 8, 20 }&lt;br /&gt;
arr.filter( y, function( item ) return type( item ) == &amp;#039;string&amp;#039; end ) --&amp;gt; { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;b&amp;quot; }&lt;br /&gt;
arr.reject( y, function( item ) return type( item ) == &amp;#039;string&amp;#039; end ) --&amp;gt; { 1 }&lt;br /&gt;
arr.find( x, function( item ) return item &amp;gt; 5 end ) --&amp;gt; 10,  5&lt;br /&gt;
arr.find_index( y, function( item ) return type( item ) ~= &amp;#039;string&amp;#039; end ) --&amp;gt; 4&lt;br /&gt;
arr.max_by( x, function( item ) return item * 2 end ) --&amp;gt; 10, 20, 5&lt;br /&gt;
arr.reduce( x, function( item, acc ) return acc + item*item end, 5 ) --&amp;gt; 135&lt;br /&gt;
arr.range( 10, 1, -3 ) --&amp;gt; { 10, 7, 4, 1 }&lt;br /&gt;
arr.scan( x, function( item, acc ) return acc + item*item end, 5 ) --&amp;gt; { 6, 10, 19, 35, 135 }&lt;br /&gt;
arr.slice( x, 2, 4 ) --&amp;gt; { 2, 3, 4 }&lt;br /&gt;
arr.split( x, 2 ) --&amp;gt; { 1, 2 }, { 3, 4, 10 }&lt;br /&gt;
arr.sum( x ) --&amp;gt; 20&lt;br /&gt;
arr.take( x, 2 ) --&amp;gt; { 1, 2 }&lt;br /&gt;
arr.take_every( x, 2 ) --&amp;gt; { 1, 3, 10 }&lt;br /&gt;
arr.unique( y ) --&amp;gt; { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, 1 }&lt;br /&gt;
arr.zip( x, y, {20, 30} ) --&amp;gt; { { 1, &amp;quot;a&amp;quot;, 20 }, { 2, &amp;quot;b&amp;quot;, 30 }, { 3, &amp;quot;b&amp;quot; }, { 4, 1 }, { 10 } }&lt;br /&gt;
arr.intersect( x, y ) --&amp;gt; { 1 }&lt;br /&gt;
arr.intersects( x, y ) --&amp;gt; true&lt;br /&gt;
arr.contains({ 1, 2, 3}, 3) --&amp;gt; true&lt;br /&gt;
arr.diff( x ) --&amp;gt; { 1, 1, 1, 6 }&lt;br /&gt;
arr.int( x ) --&amp;gt; { 1, 3, 6, 10, 20 }&lt;br /&gt;
arr.insert( x, y, 3 ) --&amp;gt; { 1, 2, { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;b&amp;quot;, 1 }, 3, 4, 10 }&lt;br /&gt;
&lt;br /&gt;
inc = arr.newIncrementor( 10, 5 )&lt;br /&gt;
print( inc() ) --&amp;gt; 10&lt;br /&gt;
print( inc() ) --&amp;gt; 15&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Fecsmith</name></author>
	</entry>
</feed>