我是JS的新手,我做了一些调查,但找不到解决方案。请原谅我是否重复。
上下文:我有数千个对象,其中大多数都是相同的属性。在javascript中,我获取对象的所有属性并将其格式化以在html中显示。由于某些对象没有所有属性,因此我得到未定义的值。为了解决这个问题,我写了这段代码:
var twitter = $.map(tweets, function(obj, index) {
return {
Format: ((typeof obj.VideographyFeatures.Format === "undefined") ? "N/A" : obj.VideographyFeatures.Format)
};
});
但它不起作用。对于没有“VideographyFeatures”属性的对象,我仍然会收到以下错误。
“未捕获的TypeError:无法读取未定义的属性'格式'”。
我的目标是获得:
{
Format: "N/A"
};
答案 0 :(得分:1)
如果obj.VideographyFeatures
未定义,则无法将其Format
属性传递给typeof
表达式。
您需要检查typeof obj.VideographyFeatures
。