javascript - 未捕获的类型错误:无法读取未定义的属性“substr”(javascript)
问题描述
我的控制台上有这个错误
下面是我正在使用的代码片段
JAVASCRIPT
get_items:函数(item_code)
if (key) {
if (key.length == 13){
if (key.startsWith('221')){
return $.grep(this.item_data, function (item) {
if(item.barcode !== null && item.barcode !== '') {
if (item.barcode.substr(0,7) == key.substr(0,7)) {
pesokg1 = key.substr(7,6)
if (pesokg1.startsWith('0000')){
pesokg='0.' + pesokg1.substr(4)
}else if (pesokg1.startsWith('000')){
pesokg='0.' + pesokg1.substr(3)
}else if (pesokg1.startsWith('00')){
pesokg='0.' + pesokg1.substr(2)
}else if (pesokg1.startsWith('0')){
pesokg=pesokg1.substr(1,1) +'.' + pesokg1.substr(2,pesokg1.length)
}else if (!pesokg1.startsWith('0')){
pesokg=pesokg1.substr(0,2) +'.' + pesokg1.substr(2,pesokg1.length)
}
search_status = false;
return true
}
}
})
}
}
解决方案
好像线
if(item.barcode !== null && item.barcode !== '') {
缺少商品没有条形码的情况。所以要么添加未定义的检查
if(item.barcode !== null && item.barcode !== undefined && item.barcode !== '') {
/* the code */
}
或者只是使用真实的检查
if(item.barcode) {
/* the code */
}
推荐阅读
- c# - 将字符串转换为双精度,以便我可以按值列表视图过滤
- node.js - nodejs函数未设置变量,net-ping
- webassembly - 调试 Uno 平台 WebAssembly 项目时 WebSocket 断开连接
- php - 由于包问题,我无法更新到 laravel 7.0,我认为
- c# - 使用字典数据源在 WinForms 中绘制图形
- angular - 角度解析器
- python - 将非规范化的 json 数据框列转换为多列
- python - TF Keras 文本处理 - 分类模型
- nginx - Plesk 上的 Jenkins + nginx 反向代理
- c++ - How do I get my templated bubbleSort() function to display a sorted vector?