尝试使用.substring()时未定义的值

时间:2016-03-15 19:34:18

标签: javascript arrays substring jsdom

我正在尝试检查名为test[]的数组中的值"Dep_",并将其值添加到另一个数组arrayDep

它失败了,因为它说该位置的数组是undefined,但在控制台日志中,可以看到数组中有多个项目。

代码:

jsdom.env({
    url: "http://www.camara.leg.br/internet/deputado/Dep_Lista.asp?Legislatura=55&Partido=QQ&SX=QQ&Todos=None&UF=QQ&condic=QQ&forma=lista&nome=&ordem=nome&origem=None",
    scripts: ["http://code.jquery.com/jquery.js"],
    done: function (errors, window) {
        var test = [];
        var arrayDep = [];
        var value;
        var substring = "Dep_Detalhe.asp";
        var $ = window.$;
        $('a').each(function () {
            test.push($(this).attr('href'));
        });

        console.log(test);
        // inside console log:
        // 'Dep_Detalhe.asp?id=5830400',
        // 'mailto:dep.givaldocarimbao@camara.leg.br',
        // 'Dep_Detalhe.asp?id=5830706',
        // 'mailto:dep.givaldovieira@camara.leg.br',
        // 'Dep_Detalhe.asp?id=5830397',
        // 'mailto:dep.glauberbraga@camara.leg.br', ...

        for (var i = 0; i < test.length; i++) {
            value = test[i];
            if (value.substring(0,3) === "Dep_") { 
                // error occurs here it says:   
                // TypeError: Cannot read property 'substring' of undefined
                arrayDep.push(test[i]);
            }
        }
    }
});

1 个答案:

答案 0 :(得分:0)

有人工作,我的数组是未定义的组件,感谢所有人,但最好的提示是使用节点检查器,这很容易验证我的大数组中未定义的组件。