生成内容是undefined的数组

Posted on 2021-01-21 10:11  猫头唔食鱼  阅读(216)  评论(0编辑  收藏  举报

1.错误情况

(1)空数组直接用fill,得到的是空数组

       // 空数组直接用fill,是填充不了任何内容的
        let a = []
        a.fill(undefined)
        console.log(a);  // [] 

(2)使用new Array,得到的是empty

        // new Array生成的是empty
        let c = new Array(4)
        console.log(c); // [empty*4]

2.正确情况

(1) 非空数组使用fill填充

      // 非空数组使用fill
        let b = [1,2,3,4]
        b.fill(undefined)
        console.log(b); // [undefined,undefined,undefined,undefined]

(2)new Array(n).fill(ele)

        let d = new Array(4).fill(undefined)
        console.log(d); // [undefined,undefined,undefined,undefined]

(3)Array.apply(null,new Array(n))

        let e = Array.apply(null,new Array(4))
        console.log(e); // [undefined,undefined,undefined,undefined]

封装成方法

        let fillContent = (n,content) =>Array(n).fill(content)
        console.log(fillContent(3,'undefined'));