Object doesn't support property or method 'fill'

后端 未结 7 793
谎友^
谎友^ 2021-01-04 08:07

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         


        
相关标签:
7条回答
  • 2021-01-04 08:44

    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.

    0 讨论(0)
  • 2021-01-04 08:55

    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.

    0 讨论(0)
  • 2021-01-04 08:56

    const arr = Array.from(Array(10), () => 'none')
    console.log(arr)
    // ['none', 'none', 'none', 'none', 'none', 'none', 'none', 'none', 'none', 'none']

    0 讨论(0)
  • 2021-01-04 09:02

    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 :

    • Array Docs

    • efficient way to fill 0

    0 讨论(0)
  • 2021-01-04 09:05

    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.

    0 讨论(0)
  • 2021-01-04 09:05

    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);

    0 讨论(0)
提交回复
热议问题