使用Array.indexOf从数组中删除空值?

时间:2017-07-10 11:19:09

标签: javascript arrays node.js null

我试图在不使用for循环的情况下查找数组中是否存在空值,主要类似于Array.indexOf。 Undefined不是一个字符串,当我使用console.log(ARRPREFIX)时,它是一个未定义的空值

var arr = ["**", undefined, null];
if (arr.indexOf(null) > -1) {
  console.log("Should be null");
  arr.splice(arr.indexOf(null), 1);
}

上面是我的代码,但是它没有检测到未定义的值,我也尝试输入“undefined”,但这不起作用。

2 个答案:

答案 0 :(得分:5)

您可以使用filter过滤掉虚假值(null,undefined等):

var array = [2, 3, null, 4, undefined, 5];
array = array.filter(Boolean);

console.log(array);

答案 1 :(得分:-2)

我认为那些javascript数组函数无论如何都会在背景上使用循环。