如何使用ES6 Array.fill()清空数组

时间:2015-08-31 10:42:01

标签: javascript arrays ecmascript-6

假设我有一个如下所示的变量

var arr = [undefined];

如何使用ES6 arr使[]等于Array.fill()

修改 我正在做一个katas并得到一个像

这样的测试用例
it('fill only changes content, adds no new elements', function() { 
   const arr = [undefined].fill(); 
   assert.deepEqual(arr, []); 
});

困惑如何制作它。我可以删除undefined。但除此之外,还有什么好方法吗?只是好奇

2 个答案:

答案 0 :(得分:3)

  

如何使用ES6 [undefined]使[]等于Array.fill()

你不能,因为fill不会改变数组的长度。

看起来像they really want you to remove the undefined,或使用其他类似arr.splice(0, 1);的内容。

答案 1 :(得分:0)

您只能使用未定义的值填充数组

[1,2,3].fill(undefined);

但是数组总是具有属性0,1和2,也有未定义的值。

因此您无法使用填充

删除属性