javascript - 在javascript中向变量添加额外的对象?

标签 javascript

我有一个可能包含对象或可能 undefined variable 。我希望向此变量添加其他对象。我该怎么做?

适用时的代码示例:

function(){ 
    var comments;
    if(fbposts[fbpost].comments.count){
        for(var comment in fbposts[fbpost].comments.data){
                comments = ({
                    name: fbposts[fbpost].comments.data[comment].from.name,
                    link: "http://www.facebook.com/"+fbposts[fbpost].comments.data[comment].from.id,
                    img: "http://www.facebook.com/"+fbposts[fbpost].comments.data[comment].from.id+"/picture",
                    message: fbposts[fbpost].comments.data[comment].message,
                    created: timeDifference(Date.parse(fbposts[fbpost].comments.data[comment].created_time)),
                })
            }

    }
    return comments;}(),

最佳答案

测试它是否未定义,如果是,则将其分配给一个空对象:

if (typeof yourVar === "undefined")
    yourVar = {};

yourVar.additionalObject1 = { something : "test" };
yourVar.additionalObject2 = { something : "else" };

编辑:好的,既然您已将代码添加到您的问题中,那么您的 comments 变量似乎应该是一个数组,因为您要将其添加到一个循环。所以我想你会想做这样的事情:

(function(){ 
    var comments = [];
    if(fbposts[fbpost].comments.count){
        for(var comment in fbposts[fbpost].comments.data){
                comments.push({
                    name: fbposts[fbpost].comments.data[comment].from.name,
                    link: "http://www.facebook.com/"+fbposts[fbpost].comments.data[comment].from.id,
                    img: "http://www.facebook.com/"+fbposts[fbpost].comments.data[comment].from.id+"/picture",
                    message: fbposts[fbpost].comments.data[comment].message,
                    created: timeDifference(Date.parse(fbposts[fbpost].comments.data[comment].created_time)),
                });
         }    
    }
    return comments;
})();

comments 将因此包含源数据中每个评论的一个元素。如果没有注释,它将是一个空数组。 (如果你希望它在没有注释的情况下返回 undefined,那么将变量声明保留在 var comments 的位置并添加 comments=[]; 就在 if 语句中。)

关于javascript - 在javascript中向变量添加额外的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109581/

相关文章:

javascript - 获取 Discord.JS 机器人的正常运行时间

javascript - 如何在函数定义中使用没有 "this"的 bind() 方法?

javascript - 在鼠标悬停或悬停时绑定(bind)到动态生成的元素

javascript - 使用 Angularfire 保存部分数据

javascript - Background Size : Contain, 缩放后得到Size

javascript - d3js : how to toggle css class after clicking on anelement

javascript - 使用 SVG,将鼠标悬停在 X、Y 或 Z 上以使 X 和 Z 旋转

javascript - 使 <li> 标签可编辑

javascript - Vue.js Switch 语句未分配变量

使用此标识符的函数的 javascript 作用域规则