vue2-filter-list
Version:
Prebuilt Vue.js filters
671 lines (651 loc) • 69.2 kB
HTML
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<meta name="description" content="Prebuilt filters for Vue.js. Wide range of filters, separated by Category. "/>
</head>
<body>
<section class="container" style="margin-top: 20px;">
<div class="row">
<div class="col-lg-3"></div>
<div class="col-lg-9">
<h1 id="vue2-filter-list-nbsp-">Vue2-filter-list </h1>
<p>Prebuilt filters for Vue.js. Wide range of filters, separated by Category. </p>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<ul class="list-group" style="">
<li class="list-group-item"><a href="#get-started">Get Started</a></li>
<li class="list-group-item"><a href="#contributing">Contributing</a></li>
<li class="list-group-item"><a href="#collection"><b>Collection</b></a>
<ul>
<li><a href="#after">after</a></li>
<li><a href="#afterwhere">afterWhere</a></li>
<li><a href="#before">before</a></li>
<li><a href="#beforewhere">beforeWhere</a></li>
<li><a href="#concat">concat</a></li>
<li><a href="#filterby">filterBy</a></li>
<li><a href="#find">find</a></li>
<li><a href="#flatten">flatten</a></li>
<li><a href="#fuzzy">fuzzy</a></li>
<li><a href="#isempty">isEmpty</a></li>
<li><a href="#join">join</a></li>
<li><a href="#limitBy">limitBy</a></li>
<li><a href="#orderBy">orderBy</a></li>
<li><a href="#range">range</a></li>
<li><a href="#removewith">removeWith</a></li>
<li><a href="#reverse">reverse</a></li>
<li><a href="#where">where</a></li>
</ul>
</li>
<li class="list-group-item"><a href="#string">String</a>
<ul>
<li><a href="#endswith">endsWith</a></li>
<li><a href="#latinize">latinize</a></li>
<li><a href="#uppercase">uppercase</a></li>
<li><a href="#lowercase">lowercase</a></li>
<li><a href="#test">test</a></li>
<li><a href="#trim">trim</a></li>
<li><a href="#ltrim">ltrim</a></li>
<li><a href="#rtrim">rtrim</a></li>
<li><a href="#match">match</a></li>
<li><a href="#phoneus">phoneUS</a></li>
<li><a href="#placeholder">placeholder</a></li>
<li><a href="#repeat">repeat</a></li>
<li><a href="#reverse-1">reverse</a></li>
<li><a href="#slugify">slugify</a></li>
<li><a href="#split">split</a></li>
<li><a href="#startswith">startsWith</a></li>
<li><a href="#striptags">stripTags</a></li>
<li><a href="#stringular">stringular</a></li>
<li><a href="#truncate">truncate</a></li>
<li><a href="#ucfirst">ucfirst</a></li>
<li><a href="#uriencode">uriEncode</a></li>
<li><a href="#uricomponentencode">uriComponentEncode</a></li>
<li><a href="#wrap">wrap</a></li>
</ul>
</li>
<li class="list-group-item"><a href="#math">Math</a>
<ul>
<li><a href="#min">min</a></li>
<li><a href="#max">max</a></li>
<li><a href="#abs">abs</a></li>
<li><a href="#percent">percent</a></li>
<li><a href="#radix">radix</a></li>
<li><a href="#sum">sum</a></li>
<li><a href="#degrees">degrees</a></li>
<li><a href="#radians">radians</a></li>
<li><a href="#shortfmt">shortFmt</a></li>
<li><a href="#bytefmt">byteFmt</a></li>
<li><a href="#kbfmt">kbFmt</a></li>
</ul>
</li>
<li class="list-group-item"><a href="#other">Other</a>
<ul>
<li><a href="#bytes">bytes</a></li>
<li><a href="#currency">currency</a></li>
<li><a href="#dateFormat">dateFormat</a></li>
<li><a href="#json">json</a></li>
<li><a href="#number">number</a></li>
<li><a href="#ordinal">ordinal</a></li>
<li><a href="#pluralize">pluralize</a></li>
</ul>
</li>
</ul>
</div>
<div class="col-lg-9">
<h2 id="get-started">Get Started</h2>
<h3 id="npm">NPM</h3>
<pre><code>npm <span class="hljs-keyword">install</span> vue2-filter-list
</code></pre><p>When used with a module system, you must explicitly install the filters via <code>Vue.use()</code>:</p>
<pre><code class="lang-js"><span class="hljs-keyword">import</span> Vue <span class="hljs-keyword">from</span> <span class="hljs-string">'vue'</span>
<span class="hljs-keyword">import</span> VueFilterList <span class="hljs-keyword">from</span> <span class="hljs-string">'vue2-filter-list'</span>
Vue.use(VueFilterList)
</code></pre>
<p>You don't need to do this when using global script tags.</p>
<p>To use one of the predefined methods (such as <code>limitBy</code>, <code>filterBy</code>, <code>find</code>, or <code>orderBy</code>) in your component, you also need to add <code>Vue2Filters.mixin</code> to mixin list:</p>
<pre><code class="lang-js"><span class="hljs-keyword">import</span> VueFilterList <span class="hljs-keyword">from</span> <span class="hljs-string">'vue2-filter-list'</span>
<span class="hljs-keyword">export</span> default {
...
mixins: [VueFilterList.mixin],
...
}
</code></pre>
<h2 id="collection">Collection</h2>
<h3 id="after">after</h3>
<p>get a collection(array or object) and specified count, and returns all of the items
in the collection after the specified count.</p>
<pre><code class="lang-js"><span class="hljs-string">collection :</span> [
{ <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'bar'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'baz'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'zap'</span> },
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"col in after(collection,2)"</span>></span>
</span><span class="hljs-template-variable">{{ col.name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--result:
baz
zap
--></span></span>
</code></pre>
<h3 id="afterwhere">afterWhere</h3>
<p>get a collection and properties object, and returns all of the items,
in the collection after the first that found with the given properties, including it.</p>
<pre><code class="lang-js"><span class="hljs-string">orders :</span> [
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 15 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">2</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 16 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">3</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 17 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">4</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 18 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">5</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 19 2014'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"order in afterWhere(orders,</span></span></span><span class="hljs-template-variable">{date: 'Tue Jul 17 2014'}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
order: </span><span class="hljs-template-variable">{{ order.id }</span><span class="xml">}, </span><span class="hljs-template-variable">{{ order.date }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--result:
order: 3, Tue Jul 17 2014
order: 4, Tue Jul 18 2014
order: 5, Tue Jul 19 2014
--></span></span>
</code></pre>
<h3 id="before">before</h3>
<p>get a collection(array or object) and specified count, and returns all of the items
in the collection before the specified count.</p>
<pre><code class="lang-js"><span class="hljs-string">collection :</span> [
{ <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'bar'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'baz'</span> },
{ <span class="hljs-string">name:</span> <span class="hljs-string">'zap'</span> },
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"col in before(collection,3)"</span>></span>
</span><span class="hljs-template-variable">{{ col.name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--result:
foo
bar
--></span></span>
</code></pre>
<h3 id="beforewhere">beforeWhere</h3>
<p>get a collection and properties object, and returns all of the items,
in the collection before the first that found with the given properties, including it.</p>
<pre><code class="lang-js"><span class="hljs-string">orders :</span> [
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 15 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">2</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 16 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">3</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 17 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">4</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 18 2014'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">5</span>, <span class="hljs-string">customer:</span> { <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> }, <span class="hljs-string">date:</span> <span class="hljs-string">'Tue Jul 19 2014'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"order in beforeWhere(orders,</span></span></span><span class="hljs-template-variable">{date: 'Tue Jul 17 2014'}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
order: </span><span class="hljs-template-variable">{{ order.id }</span><span class="xml">}, </span><span class="hljs-template-variable">{{ order.date }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--result:
order: 1, Tue Jul 15 2014
order: 2, Tue Jul 16 2014
order: 3, Tue Jul 17 2014
--></span></span>
</code></pre>
<h3 id="concat">concat</h3>
<p>Concatenates an array/object into another one.</p>
<pre><code class="lang-js">array : [ {<span class="hljs-selector-tag">a</span>: <span class="hljs-number">1</span>}, {<span class="hljs-selector-tag">a</span>: <span class="hljs-number">2</span>} ],
<span class="hljs-selector-tag">object</span> : {
<span class="hljs-number">0</span>: {<span class="hljs-selector-tag">a</span>: <span class="hljs-number">3</span>},
<span class="hljs-number">1</span>: {<span class="hljs-selector-tag">a</span>: <span class="hljs-number">4</span>}
}
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"elm in concat(array,object)"</span>></span>
</span><span class="hljs-template-variable">{{ elm.a }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-comment"><!--
result:
1 2 3 4
--></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"elm in concat(object,array)"</span>></span>
</span><span class="hljs-template-variable">{{ elm.a }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-comment"><!--
result:
3 4 1 2
--></span></span>
</code></pre>
<h3 id="filterby">filterBy</h3>
<ul>
<li>Arguments<ul>
<li>{Array} [items]</li>
<li>{String} [query]</li>
<li>{String} [searchKey]</li>
</ul>
</li>
</ul>
<pre><code class="lang-html"><span class="hljs-comment"><!-- only items that contain the target string "hello" will be displayed --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"item in filterBy(items, 'hello')"</span>></span>
<span class="hljs-comment"><!-- the filter will only search for "Jack" in the name field of each user object --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in filterBy(users, 'Jack', 'name')"</span>></span>
<span class="hljs-comment"><!-- the filter will only search for "Bonnie" in the name or age fields of each user object --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in filterBy(users, 'Bonnie', 'name', 'age')"</span>></span>
</code></pre>
<h3 id="find">find</h3>
<ul>
<li>Arguments<ul>
<li>{Array} [items]</li>
<li>{String} [query]</li>
<li>{String} [searchKey]</li>
</ul>
</li>
</ul>
<pre><code class="lang-html"><span class="hljs-comment"><!-- only the first item that contains the target string "hello" will be displayed --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"item in find(items, 'hello')"</span>></span>
<span class="hljs-comment"><!-- the filter will only search for "Bonnie" in the name or age fields of each user object and return the first result --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in find(users, 'Bonnie', 'name', 'age')"</span>></span>
</code></pre>
<h3 id="flatten">flatten</h3>
<p>Flattens a nested array (the nesting can be to any depth).<br/>
If you pass shallow, the array will only be flattened a single level<br/></p>
<pre><code class="lang-js">weirdArray : <span class="hljs-comment">[<span class="hljs-comment">[]</span>, 1, 2, 3, <span class="hljs-comment">[4, 5, 6, <span class="hljs-comment">[7, 8, 9, <span class="hljs-comment">[10, 11, <span class="hljs-comment">[12, <span class="hljs-comment">[<span class="hljs-comment">[<span class="hljs-comment">[<span class="hljs-comment">[<span class="hljs-comment">[13]</span>, <span class="hljs-comment">[<span class="hljs-comment">[<span class="hljs-comment">[<span class="hljs-comment">[14, 15]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>]</span>
</code></pre>
<pre><code class="lang-html"><<span class="hljs-keyword">th</span> v-<span class="hljs-keyword">for</span>=<span class="hljs-string">"elm in flatten(wierdArray)"</span>>
{{ elm }},
</<span class="hljs-keyword">th</span>>
<!--resul<span class="hljs-variable">t:</span>
<span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">7</span>, <span class="hljs-number">8</span>, <span class="hljs-number">9</span>, <span class="hljs-number">10</span>, <span class="hljs-number">11</span>, <span class="hljs-number">12</span>, <span class="hljs-number">13</span>, <span class="hljs-number">14</span>, <span class="hljs-number">15</span>
</code></pre>
<h3 id="fuzzy">fuzzy</h3>
<p>fuzzy string searching(approximate string matching). <a href="http://en.wikipedia.org/wiki/Approximate_string_matching">Read more</a><br/>
<strong>note:</strong> use fuzzyBy to filter by one property to improve performance<br/>
<strong>Usage:</strong> <code>fuzzy(collection,search,caseSensitive[optional])</code></p>
<pre><code class="lang-js"><span class="hljs-string">books :</span> [
{ <span class="hljs-string">title:</span> <span class="hljs-string">'The DaVinci Code'</span>, <span class="hljs-string">author:</span> <span class="hljs-string">'F. Scott Fitzgerald'</span> },
{ <span class="hljs-string">title:</span> <span class="hljs-string">'The Great Gatsby'</span>, <span class="hljs-string">author:</span> <span class="hljs-string">'Dan Browns'</span> },
{ <span class="hljs-string">title:</span> <span class="hljs-string">'Angels & Demons'</span>, <span class="hljs-string">author:</span> <span class="hljs-string">'Dan Louis'</span> },
{ <span class="hljs-string">title:</span> <span class="hljs-string">'The Lost Symbol'</span>, <span class="hljs-string">author:</span> <span class="hljs-string">'David Maine'</span> },
{ <span class="hljs-string">title:</span> <span class="hljs-string">'Old Man\'s War'</span>, <span class="hljs-string">author:</span> <span class="hljs-string">'Rob Grant'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"search"</span> <span class="hljs-attr">placeholder</span>=<span class="hljs-string">"search book"</span> /></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"book in fuzzy(books,search)"</span>></span>
</span><span class="hljs-template-variable">{{ book.title }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-comment"><!--case sensitive--></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"book in fuzzy(books,search,true)"</span>></span>
</span><span class="hljs-template-variable">{{ book.title }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span></span>
</code></pre>
<h3 id="isempty">isEmpty</h3>
<p>get collection or string and return if it empty[Boolean]</p>
<pre><code class="lang-html"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"order in orders"</span> <span class="hljs-attr">v-hide</span>=<span class="hljs-string">"orders | isEmpty"</span>></span>
<span class="hljs-comment"><!-- ..... --></span>
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--some replacer msg--></span>
<span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-show</span>=<span class="hljs-string">"orders | isEmpty"</span>></span>
no content to show
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
</code></pre>
<h3 id="join">join</h3>
<p>Joins the contents of a collection into a string.<br/>
By default, it will join elements with a <em>single space</em>, but you can provide your own delimiter.</p>
<p>Example:</p>
<pre><code class="lang-js"><span class="hljs-string">names :</span> [<span class="hljs-string">'John'</span>, <span class="hljs-string">'Sebastian'</span>, <span class="hljs-string">'Will'</span>, <span class="hljs-string">'James'</span>]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ names | join(', ') }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!-- Will print "John, Sebastian, Will, James" --></span></span>
</code></pre>
<h3 id="limitby">limitBy</h3>
<ul>
<li>Arguments<ul>
<li>{Number|Array} [items]</li>
<li>{Number} [limit]</li>
<li>{Number} [offset]</li>
</ul>
</li>
</ul>
<pre><code class="lang-html"><span class="xml"><span class="hljs-comment"><!-- only display first 10 items --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"item in limitBy(items, 10)"</span>></span></span><span class="hljs-template-variable">{{ item }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
<span class="hljs-comment"><!-- display items 5 to 15 --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"item in limitBy(items, 10, 5)"</span>></span></span><span class="hljs-template-variable">{{ item }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">div</span>></span>
<span class="hljs-comment"><!-- with a Range --></span>
<span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"n in limitBy(10, 4, 2)"</span>></span></span><span class="hljs-template-variable">{{ n }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">div</span>></span></span>
</code></pre>
<h3 id="orderby">orderBy</h3>
<ul>
<li><p>Arguments</p>
<ul>
<li>{Array} [items]</li>
<li>{String} [sortKey]</li>
<li>{Number} [order] - default: 1</li>
</ul>
<p>Sort users by name:</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">ul</span>></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in orderBy(users, 'name')"</span>></span>
</span><span class="hljs-template-variable">{{ user.name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-tag"></<span class="hljs-name">ul</span>></span></span>
</code></pre>
<p>In descending order:</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">ul</span>></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in orderBy(users, 'name')"</span>></span>
</span><span class="hljs-template-variable">{{ user.name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-tag"></<span class="hljs-name">ul</span>></span></span>
</code></pre>
<p>Sort primitive values:</p>
</li>
</ul>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">ul</span>></span>
<span class="hljs-tag"><<span class="hljs-name">li</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"name in orderBy(names, true)"</span>></span>
</span><span class="hljs-template-variable">{{ name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">li</span>></span>
<span class="hljs-tag"></<span class="hljs-name">ul</span>></span></span>
</code></pre>
<h3 id="range">range</h3>
<p>Return a new collection from a given length, start, increment, and callback<br/>
By default start is 0, increment is 1, and callback is null.
<strong>Usage:</strong> <code>range(collection,length,start,increment,callback)</code><br/></p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"i in range([],3)"</span>></span></span><span class="hljs-template-variable">{{i}}</span><span class="xml">,<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
<span class="hljs-comment"><!--result:
0,1,2,
--></span></span>
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"i in range([],10,10)"</span>></span></span><span class="hljs-template-variable">{{i}}</span><span class="xml">,<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
<span class="hljs-comment"><!--result:
10,11,12,13,14,15,16,17,18,19,
--></span></span>
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"i in range([],10,5,2)"</span>></span></span><span class="hljs-template-variable">{{ i }}</span><span class="xml">,<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
<span class="hljs-comment"><!--result:
5, 7, 9, 11, 13, 15, 17, 19, 21, 23
--></span></span>
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"i in range([],11,4,2)"</span>></span></span><span class="hljs-template-variable">{{ i }}</span><span class="xml">,<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
<span class="hljs-comment"><!--result:
4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
--></span></span>
</code></pre>
<pre><code class="lang-js"><span class="hljs-keyword">double</span>(i) {
<span class="hljs-keyword">return</span> i * <span class="hljs-number">2</span>;
}
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">span</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"i in range(11,4,2,double)"</span>></span></span><span class="hljs-template-variable">{{ i }}</span><span class="xml">,<span class="hljs-tag"></<span class="hljs-name">span</span>></span>
<span class="hljs-comment"><!--result:
8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48
--></span></span>
</code></pre>
<h3 id="removewith">removeWith</h3>
<p>comparison for each element in a collection to the given properties object,<br/>
returning an array without all elements that have equivalent property values.</p>
<pre><code class="lang-js"> <span class="hljs-string">collection :</span> [
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'bar'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">2</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'baz'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"obj in removeWith(collection,</span></span></span><span class="hljs-template-variable">{ id: 1 }</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
</span><span class="hljs-template-variable">{{ obj.name }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!-- result:
baz
--></span>
<span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"obj in removeWith(collection,</span></span></span><span class="hljs-template-variable">{ id: 1, name: 'foo' }</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
</span><span class="hljs-template-variable">{{ obj.name }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!-- result:
bar
baz</span></span>
</code></pre>
<h3 id="reverse">reverse</h3>
<p>Reverse the order of the elements in a collection</p>
<pre><code class="lang-js"><span class="hljs-string">users :</span> [
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'bazzy'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">2</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'dazzy'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">3</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'lazzy'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"user in reverse(users)"</span>></span>
user: </span><span class="hljs-template-variable">{{ user.id }}</span><span class="xml">, </span><span class="hljs-template-variable">{{ user.name }}</span><span class="xml">
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!--result:
user: 3, lazzy
user: 2, dazzy,
user: 1, bazzy
--></span></span>
</code></pre>
<h3 id="where">where</h3>
<p>comparison for each element in a collection to the given properties object,<br/>
returning an array of all elements that have equivalent property values.</p>
<pre><code class="lang-js"> <span class="hljs-string">collection :</span> [
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'foo'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">1</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'bar'</span> },
{ <span class="hljs-string">id:</span> <span class="hljs-number">2</span>, <span class="hljs-string">name:</span> <span class="hljs-string">'baz'</span> }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"obj in where(collection,</span></span></span><span class="hljs-template-variable">{id: 1}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
</span><span class="hljs-template-variable">{{ obj.name }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!-- result:
foo
bar
--></span>
<span class="hljs-tag"><<span class="hljs-name">tr</span> <span class="hljs-attr">v-for</span>=<span class="hljs-string">"obj in where(collection,</span></span></span><span class="hljs-template-variable">{id: 1, name: 'foo'}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">)"</span>></span>
</span><span class="hljs-template-variable">{{ obj.name }</span><span class="xml">}
<span class="hljs-tag"></<span class="hljs-name">tr</span>></span>
<span class="hljs-comment"><!-- result:
foo
--></span></span>
</code></pre>
<h2 id="string">String</h2>
<h3 id="ucfirst">ucfirst</h3>
<p>ucfirstFilter get string as parameter and return it capitalized</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ 'foo bar baz' | ucfirst }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--
result:
Foo Bar Baz
--></span></span>
</code></pre>
<h3 id="uppercase">uppercase</h3>
<p>uppercase get string as parameter and return it uppercase</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ 'foo bar baz' | uppercase }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--
result:
FOO BAR BAZ
--></span></span>
</code></pre>
<h3 id="lowercase">lowercase</h3>
<p>lowercase get string as parameter and return it lowercase</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ 'Foo Bar Baz' | lowercase }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--
result:
foo bar baz
--></span></span>
</code></pre>
<h3 id="uriencode">uriEncode</h3>
<p>get string as parameter and return encoded uri</p>
<pre><code class="lang-html">{{ data.name | uriEncode }}
</code></pre>
<h3 id="uricomponentencode">uriComponentEncode</h3>
<p>get string as parameter and return encoded uri component</p>
<pre><code class="lang-html">{{ <span class="hljs-string">'Some&strange=chars'</span> | uriComponentEncode }}
</code></pre>
<h3 id="slugify">slugify</h3>
<p>Transform text into a URL slug. Replaces whitespaces, with dash("-"), or given argument</p>
<pre><code class="lang-html"><span class="xml"></span><span class="hljs-template-variable">{{ 'Some string <span class="hljs-builtin-name">with</span> spaces' | slugify }}</span><span class="xml">
<span class="hljs-comment"><!--replace with given argument--></span>
</span><span class="hljs-template-variable">{{ 'Some string <span class="hljs-builtin-name">with</span> spaces' | slugify('=') }}</span><span class="xml">
<span class="hljs-comment"><!--
result:
some-string-with-spaces
some=string=with=spaces
--></span></span>
</code></pre>
<h3 id="latinize">latinize</h3>
<p>Remove accents/diacritics from a string</p>
<pre><code class="lang-html"><span class="xml"> </span><span class="hljs-template-variable">{{ 'Sòme strÏng <span class="hljs-builtin-name">with</span> Âccénts' | latinize }}</span><span class="xml">
<span class="hljs-comment"><!--
result:
Some strIng with Accents
--></span></span>
</code></pre>
<h3 id="startswith">startsWith</h3>
<p>return whether string starts with the starts parameter.<br/>
usage: <code>string | startsWith('start',case-sensitive[optional])</code><br/></p>
<pre><code class="lang-html"> {{ <span class="hljs-string">'Lorem ipsum'</span> | startsWith(<span class="hljs-string">'lorem'</span>) }}
{{ <span class="hljs-string">'Lorem Ipsum'</span> | startsWith(<span class="hljs-string">'lorem'</span>,true) }}
<!--result:
<span class="hljs-literal">true</span>
<span class="hljs-literal">false</span>
</code></pre>
<h3 id="endswith">endsWith</h3>
<p>return whether string ends with the ends parameter.<br/>
usage: <code>string | endsWith('ends',case-sensitive[optional])</code><br/></p>
<pre><code class="lang-html"> {{ <span class="hljs-string">'image.JPG'</span> | endsWith(<span class="hljs-string">'.jpg'</span>) }}
{{ <span class="hljs-string">'image.JPG'</span> | endsWith(<span class="hljs-string">'.jpg'</span>, true) }}
<!--result:
<span class="hljs-literal">true</span>
<span class="hljs-literal">false</span>
</code></pre>
<h3 id="striptags">stripTags</h3>
<p>strip out html tags from string<br/></p>
<pre><code class="lang-js"><span class="hljs-built_in">text</span> : '<p <span class="hljs-built_in">class</span>=<span class="hljs-string">"paragraph"</span>>Lorem Ipsum <span class="hljs-keyword">is</span> simply dummy <span class="hljs-built_in">text</span> <span class="hljs-keyword">of</span> <span class="hljs-keyword">the</span> printing...</p>'
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ text | stripTags }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--result:
Lorem Ipsum is simply dummy text of the printing...
--></span></span>
</code></pre>
<h3 id="stringular">stringular</h3>
<p>get string with {n} and replace match with enumeration values</p>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ 'lorem {0}</span><span class="xml"> dolor </span><span class="hljs-template-variable">{1}</span><span class="xml"> amet' | stringular('ipsum','sit') }}<span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ '{3}</span><span class="xml"> </span><span class="hljs-template-variable">{0}</span><span class="xml"> dolor </span><span class="hljs-template-variable">{1}</span><span class="xml"> amet' | stringular('ipsum','sit',null,'lorem') }}<span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!-- result:
<p>lorem ipsum dolor sit amet</p>
<p>lorem ipsum dolor sit amet</p>
--></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ 'lorem {0}</span><span class="xml"> dolor sit amet' | stringular }}<span class="hljs-tag"><<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--result:
<p>lorem </span></span><span class="hljs-template-variable">{0}</span><span class="xml"><span class="hljs-comment"> dolor sit amet</p></span></span>
</code></pre>
<h3 id="phoneus">phoneUS</h3>
<p>Format a string or a number into a us-style phone number </p>
<pre><code class="lang-html"><span class="hljs-attribute"><p></span>{{ 1234567890 | phoneUS }}<span class="hljs-attribute"></p></span>
<span class="hljs-attribute"><!--result:
<p></span>(123) 456-7890<span class="hljs-attribute"></p></span>
</code></pre>
<h3 id="truncate">truncate</h3>
<p>truncates a string given a specified length, providing a custom string to denote an omission.<br/>
usage: <code>string | truncate([length],[suffix-optional], [preserve-optinal])</code><br/></p>
<pre><code class="lang-js"><span class="hljs-built_in">text</span> : <span class="hljs-string">'lorem ipsum dolor sit amet'</span>
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-comment"><!--should not cut words in the middle if preserve is true--></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ text | truncate(7, '...', true) }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ text | truncate( 13, '...') }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--should not touch string that shorter than the provided length --></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span></span><span class="hljs-template-variable">{{ text | truncate( 50, '...') }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--result:
lorem ipsum...
lorem ipsum d...
lorem ipsum dolor sit amet</span></span>
</code></pre>
<h3 id="split">split</h3>
<p>truncates a string given a specified length, providing a custom string to denote an omission.<br/>
usage: <code>string | split([delimiter], [skip-optional])</code><br/></p>
<pre><code class="lang-js"><span class="hljs-built_in">text</span> : <span class="hljs-string">'lorem ipsum dolor sit amet'</span>
</code></pre>
<pre><code class="lang-html">
<span class="hljs-symbol"><p></span>{{ text | <span class="hljs-keyword">split</span>(<span class="hljs-string">' '</span>) }}</<span class="hljs-keyword">p</span>>
<span class="hljs-symbol"><p></span>{{ text | <span class="hljs-keyword">split</span>(<span class="hljs-string">' '</span>, <span class="hljs-number">2</span>)}}</<span class="hljs-keyword">p</span>>
<!--resul<span class="hljs-variable">t:</span>
[<span class="hljs-string">'lorem'</span>, <span class="hljs-string">'ipsum'</span>, <span class="hljs-string">'dolor'</span>, <span class="hljs-string">'sit'</span>, <span class="hljs-string">'amet'</span>]
[<span class="hljs-string">'lorem ipsum dolor'</span>, <span class="hljs-string">'sit'</span>, <span class="hljs-string">'amet'</span>]
</code></pre>
<h3 id="reverse">reverse</h3>
<p>Reverses a string</p>
<pre><code class="lang-js"><span class="hljs-built_in">text</span> : <span class="hljs-string">'lorem ipsum dolor sit amet'</span>
</code></pre>
<pre><code class="lang-html"><p>{{ <span class="hljs-built_in">text</span> | <span class="hljs-built_in">reverse</span> }}</p>
<!<span class="hljs-comment">--result:</span>
tema tis rolod muspi merol
</code></pre>
<h3 id="wrap">wrap</h3>
<p>Wrap a string with another string<br/>
usage: <code>string | wrap(string, string[optional])</code></p>
<pre><code class="lang-html"><p>{{ <span class="hljs-string">'foo'</span> | wrap(<span class="hljs-string">'/'</span>) }}</p>
<p>{{ <span class="hljs-string">'foo'</span> | wrap(<span class="hljs-string">'{{'</span>, <span class="hljs-string">'}}'</span>) }}</p>
<!--result:
/foo/
{{foo}}
</code></pre>
<h3 id="trim">trim</h3>
<p>Strip whitespace (or other characters) from the beginning and end of a string<br/></p>
<pre><code class="lang-html"><p>{{ <span class="hljs-string">' foo '</span> | trim }}</p>
<p>{{ <span class="hljs-string">'foobarfoo'</span> | trim(<span class="hljs-string">'foo'</span>) }}
<!--result:
foo
bar
</code></pre>
<h3 id="ltrim">ltrim</h3>
<p>Strip whitespace (or other characters) from the beginning of a string<br/></p>
<pre><code class="lang-html"><span class="hljs-symbol"><p></span>{{ <span class="hljs-string">'barfoobar'</span> | ltrim(<span class="hljs-string">'bar'</span>) }}
<!--resul<span class="hljs-variable">t:</span>
foobar
</code></pre>
<h3 id="rtrim">rtrim</h3>
<p>Strip whitespace (or other characters) from the end of a string<br/></p>
<pre><code class="lang-html"><span class="hljs-symbol"><p></span>{{ <span class="hljs-string">'barfoobar'</span> | rtrim(<span class="hljs-string">'bar'</span>) }}
<!--resul<span class="hljs-variable">t:</span>
barfoo
</code></pre>
<h3 id="repeat">repeat</h3>
<p>Repeats a string n times<br/>
<strong>Usage:</strong> <code>string | repeat(n, separator[optional])</code></p>
<pre><code class="lang-html"><span class="hljs-symbol"><p></span>{{ <span class="hljs-string">'foo'</span> | <span class="hljs-built_in">repeat</span>(<span class="hljs-number">3</span>, <span class="hljs-string">'-'</span>) }}</<span class="hljs-keyword">p</span>>
<!--repea<span class="hljs-variable">t:</span>
foo-foo-foo
</code></pre>
<h3 id="test">test</h3>
<p>Test if a string match a pattern<br/>
<strong>Usage:</strong> <code>string | test(pattern, flag[optional])</code></p>
<pre><code class="lang-html"><p>{{ <span class="hljs-string">'15/12/2003'</span> | test(<span class="hljs-string">'^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$'</span>, <span class="hljs-string">'i'</span>) }}</p>
<p>{{ <span class="hljs-string">'0123456'</span> | test(<span class="hljs-string">'\\D'</span>, <span class="hljs-string">'i'</span>) }}</p>
<!--result:
<span class="hljs-literal">true</span>
<span class="hljs-literal">true</span>
</code></pre>
<h3 id="match">match</h3>
<p>Return an array of matched element in a string<br/>
<strong>Usage:</strong> <code>string | match(pattern, flag[optional])</code></p>
<pre><code class="lang-html"><span class="hljs-symbol"><p></span>{{ <span class="hljs-string">'15/12/2003'</span> | <span class="hljs-keyword">match</span>(<span class="hljs-string">'\\d+'</span>, <span class="hljs-string">'g'</span>) }}</<span class="hljs-keyword">p</span>>
<!--resul<span class="hljs-variable">t:</span>
[<span class="hljs-string">'15'</span>, <span class="hljs-string">'12'</span>, <span class="hljs-string">'2003'</span>]
</code></pre>
<h2 id="math">Math</h2>
<h3 id="max">max</h3>
<p>max find and return the largest number in a given array.
if an <code>expression</code> is provided, will return max value by expression.
<strong>Usage:</strong> <code>array | max(expression[optional])</code></p>
<pre><code class="lang-js"><span class="hljs-string">users :</span> [
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">988790</span> } },
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">123414</span> } },
{ <span class="hljs-string">user:</span> { <span class="hljs-string">rank :</span> <span class="hljs-number">988999</span> } },
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">987621</span> } }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ [1,2,3,4,7,8,9] | <span class="hljs-name">max</span> }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ users | <span class="hljs-name">max</span><span class="hljs-params">('user.score || user.rank')</span> }}</span><span class="xml"><span class="hljs-tag"></<span class="hljs-name">p</span>></span>
<span class="hljs-comment"><!--
result:
* 9
* { user: { rank : 988999 } }</span></span>
</code></pre>
<h3 id="min">min</h3>
<p>min find and return the lowest number in a given array.
if an <code>expression</code> is provided, will return min value by expression.
<strong>Usage:</strong> <code>array | min(expression[optional])</code></p>
<pre><code class="lang-js"><span class="hljs-string">users :</span> [
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">988790</span> } },
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">123414</span> } },
{ <span class="hljs-string">user:</span> { <span class="hljs-string">score:</span> <span class="hljs-number">987621</span> } }
]
</code></pre>
<pre><code class="lang-html"><span class="xml"><span class="hljs-tag"><<span class="hljs-name">p</span>></span> </span><span class="hljs-template-variable">{{ [1,2,3,4,7,8,9] | <span class="hljs-na