JavaScript: Filter Example with IE Shim

Usage of the JavaScript Filter method and IE7/8 Shim

by sjmcpherson

HTML

<div id="elm">err</div>

JavaScript

var arr = [{'id':1,'assigned':'Paul Smith'},{'id':2,'assigned':'Paul Smith'},{'id':3,'assigned':'Dave Wraithbone'},{'id':4,'assigned':'Dave Wraithbone'},{'id':5,'assigned':'Paul Smith'}]

var elm = document.getElementById("elm");

//ie7,ie8 filter shim
if (!('filter' in Array.prototype)) {
    Array.prototype.filter= function(filter, that /*opt*/) {
        var other= [], v;
        for (var i=0, n= this.length; i<n; i++)
            if (i in this && filter.call(that, v= this[i], i, this))
                other.push(v);
        return other;
    };
}


function isBigEnough(element, index, array) {
  return (element.assigned == "Paul Smith");
}
var filtered = arr.filter(isBigEnough);
console.log(filtered);
elm.innerHTML = filtered.length;