SO - 30190290
HTML
<div id="demo"> </div>
<div class="item">
<form id="aForm" onchange="filter()">
<input type="checkbox" id ="A" value="A"/>Exclude words with 'A'<br/>
<input type="checkbox" id ="E" value="E"/>Exclude words with 'E'<br/>
<input type="checkbox" id ="O" value="O"/>Exclude words with 'O'<br/>
<input type="text" id="len" value="" /> Length
</form>
</div>
JavaScript
var animals = ["Bear", "Mouse", "Cat", "Tiger", "Lion"];
function filter() {
var a = document.getElementById('A').checked,
e = document.getElementById('E').checked,
o = document.getElementById('O').checked,
len = parseInt(document.getElementById('len').value,10)||0,
result2; //make a copy
var filterLetter = function (value) {
value = value.toLowerCase();
return (!a || value.indexOf('a') == -1) && (!e || value.indexOf('e') == -1) && (!o || value.indexOf('o') == -1);
};
var filterLength = function(value){
return value.length >= len;
};
var compose = function(f1, f2){
return function(val){ return f1(val)&&f2(val);};
};
result2 = animals.filter(compose(filterLetter, filterLength));
document.getElementById("demo").innerHTML = result2;
}
filter();