📌  相关文章
📜  js 从数组中删除未定义 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:22.865000             🧑  作者: Mango

JS 从数组中删除未定义 - Javascript

在 Javascript 中,数组是常用的数据结构之一。在处理数组时,我们经常需要从其中删除一些元素。但是,如果数组中存在未定义的元素,删除起来会有些棘手。本文将介绍如何从 JavaScript 数组中删除未定义的元素。

方法一:使用 filter() 方法

filter() 方法是 JavaScript 数组中比较常用的方法之一。它可以从数组中过滤出满足条件的元素,并返回一个新的数组。我们可以使用 filter() 方法来删除未定义的元素。

let arr = [1, 2, undefined, 3, undefined, 4];
arr = arr.filter(function(e) {
    return e !== undefined;
});
console.log(arr); // [1, 2, 3, 4]

代码解析:

  • 首先,定义一个包含未定义元素的数组。
  • 然后,在数组上调用 filter() 方法。
  • filter() 方法的参数是一个函数,该函数用于指定过滤条件。在这里,我们指定要过滤掉所有的未定义元素。
  • 最后,我们重置数组 arr 为过滤后的新数组。
方法二:使用 splice() 方法

splice() 方法是 JavaScript 数组中的另一个常用方法。它可以从指定的位置开始删除指定数量的元素,并返回被删除的元素。

let arr = [1, 2, undefined, 3, undefined, 4];
for (let i = arr.length - 1; i >= 0; i--) {
    if (arr[i] === undefined) {
        arr.splice(i, 1);
    }
}
console.log(arr); // [1, 2, 3, 4]

代码解析:

  • 首先,定义一个包含未定义元素的数组。
  • 然后,从数组的最后一位开始遍历,检查每个元素是否为未定义元素。
  • 如果是,使用 splice() 方法从数组中删除该元素。
  • 最后,输出不包含未定义元素的新数组。
总结

以上两种方法都可以从 JavaScript 数组中删除未定义元素。使用 filter() 方法可以更简单和直观地实现该功能,但是生成了一个新的数组。使用 splice() 方法可以直接在原数组上进行修改,但是需要手动遍历整个数组。程序员可以根据自己的需求和编程习惯选择合适的方法。