Я работаю над извлечением данных из объекта json, а затем отображаю информацию в интерфейсе пользователя. Как лучше всего обернуть приведенный ниже код, чтобы проверить, не определена ли переменная SKU или недоступна, а затем вообще не запускать код.
В Google Chrome я получаю Uncaught TypeError: Cannot прочтите свойство 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");
}
Однако этот код ниже работает
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",
}
}