检查undefined不起作用

时间:2014-12-05 19:36:23

标签: javascript arrays

我刚刚开始用javascript编程。但我仍然对它处理数组的方式感到困惑。 问题是我有一个数组,其中有一些内容为undefined。我想检查那些未定义的值并转义它们。我该怎么做。以下代码无效,我找不到解决此问题的方法。

if(myarray[0]!=='undefined')

if(myarray[0])!='undefined') // I have also tried


if(myarray[0]).search('undefined')==(-1)) // and also this

但是这些选项都不起作用。我可以在调试时看到数组中的值未定义'但这种情况从未得到满足。再一次,我的目标是在不明确的时候做点什么。请问我怎么能这样做。我发现了类似的问题Test if something is not undefined in JavaScript,但它不起作用

4 个答案:

答案 0 :(得分:1)

您正在将undefined'undefined'进行比较,这是一个字符串,因此它不同。你需要这样比较:

myarray=[undefined];
if(myarray[0]!==undefined){
    console.log(4)
}

答案 1 :(得分:1)

您将myarray[0]值与字符串值undefined进行比较。

你需要的是:

if (typeof(myarray[0]) !== 'undefined')

希望这有帮助!

答案 2 :(得分:1)

juvian提供了一个很好的答案。您需要使用undefined而不是' undefined'因为您正在将数组与字符串进行比较。

在我当前的项目中,我使用下划线来检查undefined。它非常简单直接。

var array = [];
if (_.isUndefined(array));

http://underscorejs.org/#isUndefined

答案 3 :(得分:0)

您应该按如下方式检查:if(typeof(myarray[0]) != 'undefined')