作为表达式的Javascript对象属性值不起作用

时间:2013-01-27 18:44:38

标签: javascript jquery undefined expression

我是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"
};

1 个答案:

答案 0 :(得分:1)

如果obj.VideographyFeatures未定义,则无法将其Format属性传递给typeof表达式。

您需要检查typeof obj.VideographyFeatures