javascript - 拆分在 javascript 中不起作用,未捕获类型错误

标签 javascript

有人可以解释一下为什么此代码中的 if 条件 不起作用吗?

        var zaposleni=[];
        for(i=1;i<brOpcija;i++){
        zaposleni.push(myOpts[i].value);
        }

        var zaposleniRestoran=[];
        for(i=1;i<brOpcija;i++){

            if(zaposleni[i].split(' ').slice(2).join(' ') == vrednostSelekta()){
                zaposleniRestoran.push(zaposleni[i].split(' ').slice(0,2));
            }
        }

在这里,我有数组zaposleni,我在其中推送一些值,数组看起来像[“name”“surname”“restaurantName”],然后我是检查 restaurantName == vrednostSelekta() 是否(其中 vrednostSelekta() 是 javascript 中某个函数的返回值),但我总是收到此错误:

Uncaught TypeError: Cannot read property 'split' of undefined
    at HTMLSelectElement.<anonymous> (zaposleni.js:51)
    at HTMLSelectElement.handle (jquery.min.js:55)
    at HTMLSelectElement.o (jquery.min.js:49)

但是当我删除这个 if,然后在调试器中输入它时,我没有收到错误并且它在那里工作..提前感谢!

最佳答案

看起来“zaposleni”数组为空或者其中只有一个元素。您的 for 循环从“i=1”开始。

关于javascript - 拆分在 javascript 中不起作用,未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42182546/

相关文章:

javascript - 单击按钮时防止表格 tr clickable-row

javascript - 为 PhoneGap 而不是 Titanium 构建更容易吗?

javascript - youtube video iframe onclick

javascript - 如何在选项卡单击时隐藏和显示文本

javascript - 随机化特征集合

javascript - 使用 ng-click 单击其他按钮时按钮颜色发生变化

javascript - 如何打开/关闭 $(document).click() 事件或其他解决方案

javascript - 无法使用 AngularJS 连接到数据库

javascript - 如果运行了第一个函数,则不要运行第二个函数

javascript - headless (headless) JavaScript 测试 HTML5 音频/视频