.flat() is not a function, what's wrong?
The following code function steamrollArray(arr) { // I'm a steamroller, baby return arr.flat(); } steamrollArray([1, [2], [3, [[4]]]]); returns arr.flat is not a function I tried it in Firefox and Chrome v67 and the same result has happened. What's wrong? The flat method is not yet implemented in common browsers (only Chrome v69, Firefox Nightly and Opera 56). It’s an experimental feature. Therefore you cannot use it yet . You may want to have your own flat function instead: Object.defineProperty(Array.prototype, 'flat', { value: function(depth = 1) { return this.reduce(function (flat,