📅  最后修改于: 2023-12-03 15:06:35.774000             🧑  作者: Mango
在 JavaScript 中,删除数组中的 null 值可以使用各种方法。下面我们将介绍一些常用方法:
最常用的方法是使用 filter() 方法来过滤掉 null 值,并创建一个新的数组。
const arr = [1, null, 2, null, 3];
const filteredArray = arr.filter((value) => value !== null);
console.log(filteredArray); // Output: [1, 2, 3]
在这个示例代码中,我们首先声明了一个数组 arr
,包含一些 null 值。我们然后使用 filter()
方法来创建一个新数组 filteredArray
,其中每个 null 值都已被过滤掉。
我们可以使用 JavaScript 的 for 循环来遍历数组中的每个元素,如果元素是 null,则使用 Array.splice() 方法从数组中删除元素。
const arr = [1, null, 2, null, 3];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === null) {
arr.splice(i, 1);
i--;
}
}
console.log(arr); // Output: [1, 2, 3]
在这个示例代码中,我们首先声明了一个数组 arr
,包含一些 null 值。我们然后使用 for 循环遍历了整个数组,如果找到一个 null 值,我们就使用 splice() 方法,将这个元素从数组中删除。
需要注意的是,我们在删除元素后会将循环变量 i
减 1,因为数组的长度已经缩小了 1,遍历完整个数组就是 $n-1$ 的长度。
我们也可以使用 reduce() 方法来遍历原始数组并返回一个过滤后的新数组。
const arr = [1, null, 2, null, 3];
const filteredArray = arr.reduce((accumulator, currentValue) => {
if (currentValue !== null) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(filteredArray); // Output: [1, 2, 3]
在这个示例代码中,我们首先声明了一个数组 arr
,包含一些 null 值。我们然后使用 reduce() 方法来遍历整个数组。如果当前元素不是 null,我们就将其添加到累加器数组中。最终,我们返回一个过滤后的新数组。
有时我们可能需要使用类似于解构的方法来移除数组中的 null 值,可以使用 ES6 的 spread 运算符 ...
来实现。
const arr = [1, null, 2, null, 3];
const filteredArray = [...arr].filter((value) => value !== null);
console.log(filteredArray); // Output: [1, 2, 3]
在这个示例代码中,我们使用 ...
运算符将原始数组 arr
扩展到一个新的数组,然后对新数组使用 filter() 方法来过滤 null 值。最终,我们得到了一个过滤后的新数组。
这些都是可行的解决方案来删除 null 值,程序员可以根据实际情况选择使用哪种方法。