TypeError: Cannot read property 'length' of undefined

157 阅读1分钟

原来代码:

  if (brands.length !== 0) {
            this.formData.brandIds = brands.map(item => {
              return item.id;
            });
  }
          

console.log(brands instanceof Array);//true

brands是数组 说明造成这个错误的原因是因为,没有预先判断数组是否存在,需要先对数组进行非空验证:brands !== undefined

修正代码:

  if (brands !== undefined && brands.length !== 0) {
            this.formData.brandIds = brands.map(item => {
              return item.id;
            });
          }

image.png