slice() is a method from the prototype of Array. Whereas it returns a new array, it may not be in the FileList prototype. You can use the Array.prototype.slice method and apply it on the filelist:
Array.prototype.slice.call( fileList ); //will return an array-copy of the filelist
Array.prototype.slice.call( fileList, 0, 3 ); //Then simply use the slice arguments at your convenience
You can use (and will see often in js-libraries code) this trick on arguments, also. Please note that slice doesn't modify the original object, like splice() does.
you can check out https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice#Array-like for an explanation on MDN.