退出循环时出现javascript错误

ske*_*dev 4 javascript for-loop onchange

我创建了一个jquery实用程序,当您从下拉列表中选择一个状态时,它会自动显示状态.为了提高用户体验,我添加了一些逻辑来将商店划分为三列.这在IE以外的每个浏览器中都能正常工作.

我不确定控制台中显示的错误是否是导致.change()事件不在IE中触发的相同错误,但我想我会提到它.我得到的控制台错误是:

未捕获的TypeError:无法读取未定义的属性"store_url"

这是代码:

else if (store_remainder === 0) {
   for(var i = 0; i < check; i++) {
      store_col_1.append("<li class='current_store'><a href='" +   data[i].store_url + "'>" + data[i].store_name + "</a></li>");
   }
   for(var i = check; i < (check * 2); i++) {
      store_col_2.append("<li class='current_store'><a href='" + data[i].store_url + "'>" + data[i].store_name + "</a></li>");
   }
   for(var i = (check * 2); i <= data.length; i++) {
      store_col_3.append("<li class='current_store'><a href='" + data[i].store_url + "'>" + data[i].store_name + "</a></li>");
   }    
}
Run Code Online (Sandbox Code Playgroud)

错误只出现在最后的"for"块中,这让我相信它会尝试运行最后一次迭代,但是没有获得值并返回null.如果是这种情况,我该如何解决这个问题?

Eng*_*eer 6

这个:

for(var i = (check * 2); i <= data.length; i++) {
Run Code Online (Sandbox Code Playgroud)

一定是:

for(var i = (check * 2); i < data.length; i++) {
       //without '=' -------^
Run Code Online (Sandbox Code Playgroud)

因为somearray[somearray.length]永远 undefined.