首页 > 其他 > 详细

循环必须注意事项;

时间:2020-07-15 00:58:37      阅读:47      评论:0      收藏:0      [点我收藏+]

虚值引起循环报错,导致代码阻塞!

今天在工作中遇见一个场景:
父组件向子组件中传递数据的时候,在子组件中父组件传递过来的数据进行循环的时候;
子组件报错
TypeError: Cannot read property ‘menu_pid‘ of null at VueComponent.getTree
后来发现报错的原因是在进行循环的时候,
getTree(list, parentId) {
      let re = new Array();
      for (let i = 0; i < list.length; i++) {
             let pid = list[i].menu_pid; 提示这里报错
            //do something
      }
      return re;
},
发现父组件传递过来的数据 list 中有一个虚值[{},{},null];
就是这个虚值 null,导致报错了;
然后就阻塞了代码;导致后面的代码无法运行;

以后如何避免这样的问题;
在父组件向子组件传递数据的时候;
不要传递虚值,因为虚值会导致出现意想不到的错误;
在向下传递值的时候;要对值进行检查;

底层在进行循环的时候,注意代码的健壮性;

去除虚值

let arr = [11, 22, 33, null, ‘‘, undefined]

let newArr = [];

for (let i = 0; i < arr.length; i++) {
    if (arr[i]) {
        newArr.push(arr[i])
    }
}
console.log(newArr);//[11, 22, 33]

循环必须注意事项;

原文:https://www.cnblogs.com/IwishIcould/p/13302208.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!