如何确定Javascript数组中的字段是空还是空?

时间:2015-03-18 16:56:36

标签: javascript arrays google-chrome-devtools isnull is-empty

我的目标是确定名为name的字段是否为空 我的代码返回此错误:

  

“对象不是函数”。

这已得到解决,因为我最初在(name)声明中使用了[name]而非if

function notEmptyOrNull() {
    var name1 = "Sherlock";
    var name2 = "Watson";
    var name3 = "";

    var namesArray= ["Ben", "Lucy", "Watson", "Sherlock"];

    if  (namesArray[name1] !== null) {  // resolved error

        console.log(name1);
        return true;
    }
    return false;
}
notEmptyOrNull();

更新了代码:
解决错误的if (namesArray(name)if (namesArray[name]

但是,当我测试name3时,我已将其更改为“空字符串”=“”

我该怎么做?

在Chrome开发工具中,我希望每个输出都显示为true或false。

我还想输出每个字段的数据。

同样,这很简单,但我仍在整理它。

我知道我缺少完成此操作的部分代码。

3 个答案:

答案 0 :(得分:1)

如果namesArray.indexOf(name1) > -1这样你就不检查null,你正在检查数组中是否存在值

答案 1 :(得分:0)

你错误地调用了数组值。 “()”用于调用函数,从数组中获取元素,你必须使用“[]”

像这样:

if  (namesArray[name1] !== null) {

Pd积。事实上,我认为你想要的是找到名称是否在数组中,在这种情况下你应该使用这个方法:

if (namesArray.indexOf(name1) !== -1)

您可以查看文档here

答案 2 :(得分:0)

使用Array.indexOf()

替换:

 if  (namesArray(name1) !== null) { ...

使用:

 if  (name1.indexOf(namesArray) !== -1 ) { ...

如果元素不能在数组中输入,那么Array.indexOf()将返回-1,否则,数组内元素的索引(其中0表示第一个元素)。