Javascript TypeError 指出列表未定义

标签 javascript arrays function

我创建了一个函数,它接收一个列表作为输入,然后对该列表进行操作:

function selected_items(list) {
    for (i=0;i<=list.length;i++){
        item = list[i].split("-");
        item_id = item[0] + '-' + item[1] + '-' + item[2]
        user_id = item[4]
        $('#shift_data_' + user_id).children('#' + item_id).toggleClass('selected')
    }
}

该列表由一些字符串组成,如下所示:[“a-b-c”,“a1-b1-c1”等]

我想一个接一个地处理字符串,在运算符“-”之后将它们分开,然后做一些工作来帮助我选择 DOM 中的一些项目。

有趣的是,代码按预期工作,但是在控制台中我得到 出现以下错误:

 TypeError: list[i] is undefined
    --> item = list[i].split("-");

即使代码正常工作,我为什么会收到此错误,有什么想法吗?

最佳答案

您正在循环列表超出范围。尝试改变这个:

for (i=0; i<=list.length; i++){

通过这个:

for (i=0; i<=list.length - 1; i++){

或者这个:

for (i=0; i < list.length; i++){

关于Javascript TypeError 指出列表未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39751956/

相关文章:

string - 使用扩展功能将String中的每个单词大写

JavaScript:根据条件创建二维对象数组

javascript - Javascript 和 Cookie 的问题

node.js - JS/node.js : Large switch-case blocks vs. 函数集合

c++ - 将整数传递给函数内的数组(不带指针)

java - 其他方法的一维阵列频率计数器

带有大括号的 JavaScript (ES6) 常量

javascript - CA Agile Central如何开启过滤功能?

java - 打印阵列

javascript - 比较两个嵌套数组和对象以查找差异