JavaScript 中的数组是一种非常常用的数据类型,但有时候数组中可能会包含空项(undefined、null或空字符串),这些空项可能会导致代码出错或者运行效率下降。因此,我们需要学会如何删除数组中的空项。
方法一:使用 filter() 方法
filter() 方法可以用来过滤数组中的元素,返回一个新的数组,新数组中的元素是符合条件的元素。因此,我们可以使用 filter() 方法来删除数组中的空项。
下面是一个例子:
```javascript
const arr = [1, undefined, null, '', 2];
const newArr = arr.filter(item => {
return item !== undefined && item !== null && item !== '';
});
console.log(newArr); // [1, 2]
```
上述代码使用 filter() 方法遍历数组 arr,返回一个新数组 newArr,新数组中的元素是不等于 undefined、null 或空字符串的元素。最后打印出新数组 newArr 中的元素,结果为 [1, 2]。
方法二:使用 splice() 方法
splice() 方法可以在数组中添加或删除元素,我们可以使用该方法删除数组中的空项。
下面是一个例子:
```javascript
const arr = [1, undefined, null, '', 2];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === undefined || arr[i] === null || arr[i] === '') {
arr.splice(i, 1);
i--;
}
}
console.log(arr); // [1, 2]
```
上述代码使用 for 循环遍历数组 arr,如果找到空项,则使用 splice() 方法删除该空项,并将循环变量 i 减一,以避免跳过下一个元素。最后打印出新数组 arr 中的元素,结果为 [1, 2]。
总结:
两种方法都可以删除数组中的空项,使用 filter() 方法代码更简洁,而使用 splice() 方法则更灵活。需要根据具体需求选择合适的方法。
转载注明来源:https://xzbu.com