📌  相关文章
📜  如何从 JavaScript 数组中删除未定义的值? - 打字稿(1)

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

如何从 JavaScript 数组中删除未定义的值?

在 JavaScript 中,数组是一种非常常用的数据结构,但是经常会出现数组中含有一些未定义的值,这些值可能是 null、undefined 或者被删除的元素。这些未定义的值可能会在我们进行操作时引发错误或者不必要的结果,所以我们需要将它们从数组中删除。本文将介绍 JavaScript 中删除数组中未定义值的几种方法。

方法一:使用 filter() 函数

filter() 函数可以用于过滤数组中的元素,并返回过滤后的新数组,我们可以传递一个回调函数给 filter() 函数,使其只返回不是 undefined 的元素。以下是一个例子:

const arr = [1, undefined, null, "Hello", undefined, "", false, undefined];

const filteredArr = arr.filter((element) => {
  return element !== undefined;
});

console.log(filteredArr); // [1, null, "Hello", "", false]

以上代码中,我们定义了一个数组 arr,其中含有一些未定义的值。然后我们使用 filter() 函数来过滤数组中的 undefined 值,得到了一个新的去掉了 undefined 元素的数组 filteredArr。

方法二:使用 forEach() 函数

除了 filter() 函数,我们也可以使用 forEach() 函数来遍历数组,并在遍历中判断每个元素是否为 undefined。以下是一个例子:

const arr = [1, undefined, null, "Hello", undefined, "", false, undefined];

let filteredArr = [];

arr.forEach((element) => {
  if (element !== undefined) {
    filteredArr.push(element);
  }
});

console.log(filteredArr); // [1, null, "Hello", "", false]

以上代码中,我们在 forEach() 函数中遍历了数组并判断了每个元素是否为 undefined,然后将不是 undefined 的元素添加到新的数组 filteredArr 中。

方法三:使用 for 循环

除了 forEach() 函数,我们也可以使用 for 循环来遍历数组,并在循环中判断每个元素是否为 undefined。以下是一个例子:

const arr = [1, undefined, null, "Hello", undefined, "", false, undefined];

let filteredArr = [];

for (let i = 0; i < arr.length; i++) {
  if (arr[i] !== undefined) {
    filteredArr.push(arr[i]);
  }
}

console.log(filteredArr); // [1, null, "Hello", "", false]

以上代码中,我们使用 for 循环来遍历数组并判断每个元素是否为 undefined,然后将不是 undefined 的元素添加到新的数组 filteredArr 中。

总结

本文介绍了 JavaScript 中删除数组中未定义的值的三种方法:使用 filter() 函数、使用 forEach() 函数和使用 for 循环。这些方法都可以帮助我们轻松地将数组中的未定义元素删除,从而避免在操作中出现错误或不必要的结果。