js 删除数组中的空数组
时间: 2023-10-31 08:06:52 浏览: 33
可以使用JavaScript的filter()方法,将空数组过滤掉,如下所示:
let arr = [1, "", 2, [], 3, undefined, 4, null];
arr = arr.filter(item => item.length !== 0);
console.log(arr);
输出结果为:[1, 2, 3, 4]
相关问题
js 删除数组中元素
JS中有多种方法可以删除数组中的元素,其中最常用的是splice()方法。splice()方法可以删除数组中的一个或多个元素,并返回被删除的元素。它的语法如下:
array.splice(start, deleteCount, item1, item2, ...)
其中,start表示要删除的元素的起始位置,deleteCount表示要删除的元素个数,item1、item2等表示要添加到数组中的元素。如果只想删除元素而不添加新元素,则可以省略后面的参数。除了splice()方法,还可以使用filter()方法和循环来删除数组中的元素。
js删除数组中的null
在JavaScript中,如果你想从数组中删除所有的`null`值,你可以使用多种方法:
1. **过滤法** (Array.prototype.filter())
使用`filter()`方法创建一个新的数组,只包含非`null`元素:
```javascript
let array = [null, 'a', null, 'b', undefined];
let newArray = array.filter(value => value !== null && value !== undefined);
```
2. **双重循环** (for loop)
如果你想保留原数组并直接修改它,可以遍历数组并移除`null`或`undefined`元素:
```javascript
for (let i = array.length - 1; i >= 0; i--) {
if (array[i] === null || array[i] === undefined) {
array.splice(i, 1);
}
}
```
3. **map() + filter()组合**
先将所有元素映射到新数组,然后过滤掉`null`或`undefined`:
```javascript
let newArray = array.map(value => value).filter(Boolean);
```
这里使用`Boolean`函数是因为`false`等同于`null`或`undefined`会被转换为`false`。
以上每种方法都会返回一个没有`null`的新数组,原始数组不会改变除非你选择第二种方法。