Advertisement
menixator

flatten.js

Jan 27th, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var push = [].push;
  2.  
  3. var flatten = function(array) {
  4.     return [].concat(array).reduce(function(ret, curr) {
  5.         if (~['Array', 'Arguments'].indexOf(
  6.             Object.prototype.toString
  7.             .call(curr)
  8.             .slice('[object '.length, -1)
  9.         )) {
  10.             push.apply(ret, flatten([].slice.call(curr)))
  11.         } else {
  12.             ret.push(curr);
  13.         }
  14.         return ret;
  15.     }, []);
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement