您的当前位置:首页正文

js对象undefined根据key值取value的一个坑

来源:华拓网

js对象undefined根据key值取value的一个坑
背景是这样的,

//处理导师团头像数组
  fixTutorArray = (tutorsArr) => {
    
    // 下面两行是修复报错代码
    if(tutorsArr.length == 0)
    return tutorsArr;
    
    var lastTutor = tutorsArr[tutorsArr.length - 1];
    if (lastTutor.imgUrl !== checkMoreTutorsUrl) {
      tutorsArr.push({ imgUrl: checkMoreTutorsUrl});
    }
    return tutorsArr;
  }
image.png
纠结了好久,这么科学的写法为什么就报错了,无论怎么折腾都提示没有property imageUrl,恼火儿啊...
打断点发现这个方法会走多次,而前几次传入的tutorsArr是空数组,而此时取到的lastTutor是undefined值,此时分析可能就是因为lastTutor是undefined导致的,加上修复代码之后
if(tutorsArr.length == 0)
    return tutorsArr;

问题完美解决。真的是一步一个坑啊...