filter is a JavaScript extension to the ECMA-262 standard; as such it may not be present in other implementations of the standard.
It beats me why anyone would want to use the "workaround" filter code to cater for older browsers when the same result can be achieved in a few lines of "antiquated" Javascript code. Seems to me to be a fine example of "Never use 5 lines of code where 20 will do".
Glad you agree that readabilty of code is more important than trivial improvements in execution speed.