无法读取 null 的属性“包含”

我正在使用带有 JavaScript 的 Vue.js。


我有一个名为的对象数组,products每个对象都有被property调用的smallest_unit_barcode. 我只想过滤带有条形码的产品value,所以我做了这个功能:


if (value != '') {

    var results = this.products.filter(obj=>obj.smallest_unit_barcode.includes(value));

    var results = results.slice(Math.max(results.length - 20, 0))

    this.pos_quick_lunch = results;

}

一切正常,但如果obj.smallest_unit_barcode == null,我得到这个错误:


Error in v-on handler: "TypeError: Cannot read property 'includes' of null"

null过滤产品数组时如何忽略该值?


泛舟湖上清波郎朗
浏览 81回答 1
1回答

白衣染霜花

null在您尝试访问该属性之前进行比较:obj => obj.smallest_unit_barcode !== null && obj.smallest_unit_barcode.includes(value)因为&&是短路,所以如果左操作数的计算结果为假,则不会计算右操作数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript