{{ arr | min }}
{{ arr | min(2) }}
<div id="app"> <p>{{ arr | min }}</p> <p>{{ arr | min(2) }}</p> </div>
new Vue({ el: '#app', data: { arr: [1, 3, 5, 2, 4] }, filters: { min(arr, n) { if (arr.length < n) { throw new Error('Vue.js filter minの引数が多すぎます') return } else if (n > 1) { let result = [] while(result.length < n) { let min = Math.min(...arr) if (~result.indexOf(min)) continue result.push(min) arr = arr.filter(v => v !== min) } return result } else { return Math.min(...arr) } } } })