欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS中Array.fill()方法

程序员文章站 2022-03-01 17:02:02
...
    <script>
        // fill()方法用一个固定值填充一个数组中从其实索引到中终止索引内的全部元素,不包括终止索引。
        // 语法:arr.fill(value,start,end)
        // value: 用来填充数组元素的值
        // start: 起始索引,默认值为0
        // end: 终止索引,默认值为this.length,如果不填的话,就包括终止索引
        // 注: 1.返回修改后的数组 
        //     2.如果start为负数,则开始索引被计算为length+start 
        //     3.如果end为负数,则结束索引被计算为length+end
        //     4.start和end参数是可选的,默认值分别为0和arr.length
        //     5.当一个对象被传递给fill方法时,填充数组的是这个对象的引用

        //const arr = [1, 2, 3, 4]
        //console.log(arr.fill(0, 2, 4)); //[1,2,0,0]
        // 从索引0开始,到索引2结束,不包括终止索引,将值替换为4

        //console.log(arr.fill(5, 1)); // [1,5,5,5]

        //console.log(arr.fill(6)); // [6,6,6,6]

        // 示例
        // [1, 2, 3].fill(4);               // [4, 4, 4]
        // [1, 2, 3].fill(4, 1);            // [1, 4, 4]
        // [1, 2, 3].fill(4, 1, 2);         // [1, 4, 3]
        // [1, 2, 3].fill(4, 1, 1);         // [1, 2, 3]
        // [1, 2, 3].fill(4, 3, 3);         // [1, 2, 3]
        // [1, 2, 3].fill(4, -3, -2);       // [4, 2, 3]
        // [1, 2, 3].fill(4, NaN, NaN);     // [1, 2, 3]
        // [1, 2, 3].fill(4, 3, 5);         // [1, 2, 3]
        // console.log(Array(3).fill(4));   // [4,4,4]

        // console.log([].fill.call({ length: 3 }, 4)); // {0: 4, 1: 4, 2: 4, length: 3}
        // A.call(B,x,y) => 就是把A的函数放到B中去运行,x,y是A方法的参数

        // var arr = Array(3).fill({}) // [{}, {}, {}];
        // 需要注意如果fill的参数为引用类型,会导致都执行同一个引用类型
        // console.log(arr[0] === arr[1]); //true
    </script>

 

相关标签: javascript es6