Uncaught TypeError: Cannot read property of undefined JSON
Uncaught TypeError: Cannot read property of undefined JSON
我正在从 json 对象中提取数据,然后在前端显示信息。包装下面的代码以检查变量 SKU 是否未定义或不可用的最佳方法是什么,然后根本没有 运行 代码。
在 Google Chrome 上,我得到一个未捕获的类型错误:无法读取 属性 “dm” of undefined 基于下面的代码。
var SKU = "556520000";
var dimBreak = obj[SKU]["dm"];
for(var i = 0; i < dimBreak.length; i++){
const dimAll = dimBreak[i];
let entries = Object.entries(dimAll);
for(const [prop, val] of entries) {
console.log(prop, val);
}
}
感谢您的帮助。
基于下面的评论
我试过下面给出了与上面相同的错误。
var dimBreak = obj[SKU]["dm"];
console.log(dimBreak);
if(typeof dimBreak === 'undefined') {
console.log("Is undefined");
} else {
console.log("Is defined");
}
下面这段代码不过运行s
var dimBreak = "Test";
console.log(dimBreak);
if(typeof dimBreak === 'undefined') {
console.log("Is undefined");
} else {
console.log("Is defined");
}
使用的对象
{
"556520000":{
"lmin":"35",
"dm":[
{
"Width":"147"
},
{
"Depth":"10"
},
{
"Height":"137"
}
],
"lmax":"68",
}
}
首先您必须检查对象中是否存在 SKU,如果不存在则添加检查。您的代码似乎可以正常工作(您可以在下面看到)
var obj = {
"556520000":{
"lmin":"35",
"dm":[
{
"Width":"147"
},
{
"Depth":"10"
},
{
"Height":"137"
}
],
"lmax":"68",
}
}
var SKU = "556520000";
if(obj[SKU]){
var dimBreak = obj[SKU]["dm"];
for(var i = 0; i < dimBreak.length; i++){
const dimAll = dimBreak[i];
let entries = Object.entries(dimAll);
for(const [prop, val] of entries) {
console.log(prop, val);
}
}
} else {
console.log(SKU+' is not defined');
}
我正在从 json 对象中提取数据,然后在前端显示信息。包装下面的代码以检查变量 SKU 是否未定义或不可用的最佳方法是什么,然后根本没有 运行 代码。
在 Google Chrome 上,我得到一个未捕获的类型错误:无法读取 属性 “dm” of undefined 基于下面的代码。
var SKU = "556520000";
var dimBreak = obj[SKU]["dm"];
for(var i = 0; i < dimBreak.length; i++){
const dimAll = dimBreak[i];
let entries = Object.entries(dimAll);
for(const [prop, val] of entries) {
console.log(prop, val);
}
}
感谢您的帮助。
基于下面的评论
我试过下面给出了与上面相同的错误。
var dimBreak = obj[SKU]["dm"];
console.log(dimBreak);
if(typeof dimBreak === 'undefined') {
console.log("Is undefined");
} else {
console.log("Is defined");
}
下面这段代码不过运行s
var dimBreak = "Test";
console.log(dimBreak);
if(typeof dimBreak === 'undefined') {
console.log("Is undefined");
} else {
console.log("Is defined");
}
使用的对象
{
"556520000":{
"lmin":"35",
"dm":[
{
"Width":"147"
},
{
"Depth":"10"
},
{
"Height":"137"
}
],
"lmax":"68",
}
}
首先您必须检查对象中是否存在 SKU,如果不存在则添加检查。您的代码似乎可以正常工作(您可以在下面看到)
var obj = {
"556520000":{
"lmin":"35",
"dm":[
{
"Width":"147"
},
{
"Depth":"10"
},
{
"Height":"137"
}
],
"lmax":"68",
}
}
var SKU = "556520000";
if(obj[SKU]){
var dimBreak = obj[SKU]["dm"];
for(var i = 0; i < dimBreak.length; i++){
const dimAll = dimBreak[i];
let entries = Object.entries(dimAll);
for(const [prop, val] of entries) {
console.log(prop, val);
}
}
} else {
console.log(SKU+' is not defined');
}