以下是重构后的内容:

方法1:splice方法

splice() 方法用于插入、删除或替换数组的元素。例如:

```javascript

var arr = [1, 2, 3, 4];

arr.splice(2, 1, "Lemon", "Kiwi"); //第一个参数为删除和添加数组的起始位置,第二个参数为删除多少个元素,第三个参数为添加新的元素

console.log(arr); //输出[1, 2, "Lemon", "Kiwi", 4]

```

所以清空数组相当于删除所有数组中的元素。使用如下代码即可实现:

```javascript

var arr = [1, 2, 3, 4];

arr.splice(0, arr.length);

console.log(arr); //输出[],空数组

```

方法二:赋值length为0

在JavaScript中,数组的length属性可以自己设置大小,意味着它是可读可写的。然而,在其他编程语言如Java、C++中,数组的length属性通常是只读的,不能修改。以Java为例,尝试给数组的length赋值将导致报错:

```java

int[] arr = {1, 2, 3, 4};

arr.length = 0; //报错

```

但是在JavaScript中,这并不会报错,因为它允许修改数组的length属性。因此,可以通过以下方式清空数组:

```javascript

var arr = [1, 2, 3, 4];

arr.length = 0;

console.log(arr); //输出[],空数组

```

方法三:数组赋值[ ]

另一种方法是通过将数组重新赋值为空数组来清空数组。需要注意的是,这里的操作并不是严格意义上的清空数组,而只是将原数组重新赋值为空数组。如果没有引用指向原数组,那么它将在垃圾回收时被清理。示例代码如下:

```javascript

var arr = [1, 2, 3, 4];

arr = []; //这里并不能说是严格意义的清空数组,只是将ary重新赋值为空数组

console.log(arr); //输出[],新数组为空数组