javascript - 无法读取 null 的属性 'includes'"

标签 javascript vue.js vuejs2

我正在使用带有 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过滤产品数组时的值?

最佳答案

比较 null在您尝试访问该属性之前:

obj => obj.smallest_unit_barcode !== null && obj.smallest_unit_barcode.includes(value)
因为&&short circuiting ,如果左操作数的计算结果为假,则不会计算右操作数。

关于javascript - 无法读取 null 的属性 'includes'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62714171/

相关文章:

javascript - Vue.js - 如何从另一个组件调用方法

javascript - 为什么没有执行带有 'if' 的 Promise 之后的 block?

javascript - 使用 javascript/jquery 应用上标/下标标签

javascript - 在 Canvas 中检测鼠标与闭合贝塞尔曲线形状的碰撞

c# - 添加 javascript 进行控制时出现问题

javascript - 我在订单表中的 line_items 数组中有product_id,我想使用 vue.js 在 laravel 中根据此product_id 显示产品名称

html - Nuxt 不渲染组件的 html

javascript - "[Violation] ' 在 vue.js 中点击 ' handler took 43665ms"

javascript - excelHtml5 按钮不显示

websocket - 在vuejs中按下按钮后如何打开Web套接字?