Javascript TypeError表示列表未定义

Javascript TypeError表示列表未定义,javascript,arrays,function,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_' + us

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

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')
    }
}

你知道为什么我会在代码正常工作的情况下出现这个错误吗?

你将列表循环超出范围。尝试更改此选项:

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

for(i=0;i您正在循环列表超出范围。请尝试更改此选项:

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

for(i=0;i请在调用您的
selected_items()时显示您的代码)
函数。您的错误是因为您没有将某些内容传递到函数的
列表
参数中。JavaScript数组的索引为零:数组的第一个元素位于索引0处,最后一个元素位于等于数组长度属性值减去1的索引处。@Andreas非常感谢您的回答。我替换了t他用1替换了中的“i”,列表[i]现在变成了列表[i-1]。错误消失了,代码工作了!@Soviut我只需执行“selected_items(list)”,其中列表是一个由DOM id创建的数组,单击它们后将其推入其中。请在调用
selected_items()时显示您的代码
函数。您的错误是因为您没有将某些内容传递到函数的
列表
参数中。JavaScript数组的索引为零:数组的第一个元素位于索引0处,最后一个元素位于等于数组长度属性值减去1的索引处。@Andreas非常感谢您的回答。我替换了t中的“i”加上1,列表[i]现在变为列表[i-1]。错误消失,代码正常!@Soviut我只需执行“选定的_项(列表)”其中list是一个数组,它是使用
i
更为惯用。我修改了我的答案@Barmar.Thank=DUsing
i
更为惯用。我修改了我的答案@Barmar.Thank=D
for (i=0; i<=list.length - 1; i++){
for (i=0; i < list.length; i++){