该错误是由toString()
函数产生的。
“错误”“ TypeError:无法读取未定义的属性'toString'
这是代码:
while( items[i][j].toString().charCodeAt() < items[i][j-1].toString().charCodeAt() )
{
var temp =items[i][j];
items[i][j]=items[i][j-1];
items[i][j-1]=temp ;
j=j-1;
}
发生错误是因为最终[j-1]
将尝试访问不存在的索引。假设一个典型的数组,将在以下情况下发生:
var j = 0;
console.log(items[i][j-1]); // undefined
console.log(items[i][-1]); // undefined
而且,该undefined
值不允许使用方法。
为了避免这种情况,循环还应该检查是否达到了这个目的:
while ( j > 0 && items[i][j]... ) {
// ...
j=j-1;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句