JavaScript虚值引起循环报错怎么解决

这篇文章主要介绍了JavaScript虚值引起循环报错怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript虚值引起循环报错怎么解决文章都会有所收获,下面我们一起来看看吧。

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,10余年企业及个人网站建设经验 ,为成都超过千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站制作,同时也为不同行业的客户提供网站制作、成都网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联。

今天在工作中遇见一个场景:

父组件向子组件中传递数据的时候,在子组件中父组件传递过来的数据进行循环的时候;

子组件报错

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]

关于“JavaScript虚值引起循环报错怎么解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaScript虚值引起循环报错怎么解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。

分享标题:JavaScript虚值引起循环报错怎么解决
URL网址:https://www.cdcxhl.com/article46/pgeihg.html

成都网站建设公司_创新互联,为您提供网站策划网页设计公司网站设计公司网站排名响应式网站网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发