绿色圃中小学教育网

js如何删除数组中的空项

[原创]
导读 JavaScript 中的数组是一种非常常用的数据类型,但有时候数组中可能会包含空项(undefined、null或空字符串),这些空项可能会导致代码出错或者运。绿色圃中小学教育网百科专栏,提供全方位全领域的生活知识

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() 方法则更灵活。需要根据具体需求选择合适的方法。