I cannot find same problem online. IE 11 gives error "Object doesn't support property or method fill".
var arr = new Array(5);
arr.fill(false);
Is there any convenient way to to fill an array instead of using a for loop? Thanks.
I cannot find same problem online. IE 11 gives error "Object doesn't support property or method fill".
var arr = new Array(5);
arr.fill(false);
Is there any convenient way to to fill an array instead of using a for loop? Thanks.
I face the same issue, not to add anything.
Just open polyfills.ts file and un-comment following lines:
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';
Every thing will start working.
Install the trivial polyfill and continue using .fill(…).
You could use Array.apply for getting an array with the wanted length and then map the value to it.
var a = Array.apply(null, { length: 5 }).map(function () { return false; });
console.log(a);
I have face same issue and need to uncomment following lines in polyfill.ts file as follows:
Polyfill.ts file path: angular-App=> src=> polyfill.ts
Open this file and uncomment following lines
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
// import 'core-js/es6/symbol';
// import 'core-js/es6/object';
// import 'core-js/es6/function';
// import 'core-js/es6/parse-int';
// import 'core-js/es6/parse-float';
// import 'core-js/es6/number';
// import 'core-js/es6/math';
import 'core-js/es6/string';
// import 'core-js/es6/date';
import 'core-js/es6/array';
// import 'core-js/es6/regexp';
// import 'core-js/es6/map';
// import 'core-js/es6/weak-map';
// import 'core-js/es6/set';
Now it's work for me.
fill(); Does not support in IE. It is introduced in EDGE though. I guess foreach is the convenient way to do the task. Will update if find more. You can read the following :
Add below script to download pollyfill from CDN to your index file:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes"></script>
This should work.
const arr = Array.from(Array(10), () => 'none')
console.log(arr)
// ['none', 'none', 'none', 'none', 'none', 'none', 'none', 'none', 'none', 'none']