我试图在不使用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”,但这不起作用。
答案 0 :(得分:5)
您可以使用filter
过滤掉虚假值(null,undefined等):
var array = [2, 3, null, 4, undefined, 5];
array = array.filter(Boolean);
console.log(array);
答案 1 :(得分:-2)
我认为那些javascript数组函数无论如何都会在背景上使用循环。