Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过在Javascript对象中创建新属性来为不存在的属性设置值?_Javascript_Node.js_Firebase_Firebase Realtime Database - Fatal编程技术网

如何通过在Javascript对象中创建新属性来为不存在的属性设置值?

如何通过在Javascript对象中创建新属性来为不存在的属性设置值?,javascript,node.js,firebase,firebase-realtime-database,Javascript,Node.js,Firebase,Firebase Realtime Database,我有如下Javascript对象 var data = { USER_LIKES: { userId1: { publishedContentId: 1492688420796, publishedContentId1: 'TIMESTAMP', publishedContentId2: 1492688750874 }, userId2: { publishe

我有如下Javascript对象

var data = {
      USER_LIKES: 
       { userId1: 
          { publishedContentId: 1492688420796,
            publishedContentId1: 'TIMESTAMP',
            publishedContentId2: 1492688750874 },
         userId2: 
          { publishedContentId: 1492688611936,
            publishedContentId1: 1492688730807,
            publishedContentId2: 'TIMESTAMP' } 
       }
    } 
我可以在现有userid下添加更多内容,如下所示

data["USER_LIKES"]["userId1"]["publishedContentId3"] = admin.database.ServerValue.TIMESTAMP;
但是我想在userId下添加对象中不存在的内容。例如,我想在userId3(不存在)下添加内容

我试着做同样的事情如下

data["USER_LIKES"]["userId3"]["publishedContentId3"] = admin.database.ServerValue.TIMESTAMP;
但返回错误
TypeError:无法设置未定义的属性“PublishedContentId 1”


那么如何实现这一点呢?

错误消息非常详细,您需要首先创建
userId3
属性

data["USER_LIKES"]["userId3"] = data["USER_LIKES"]["userId3"] || {};
data["USER_LIKES"]["userId3"]["publishedContentId3"] = admin.database.ServerValue.TIMESTAMP


错误消息非常详细,您需要首先创建
userId3
属性

data["USER_LIKES"]["userId3"] = data["USER_LIKES"]["userId3"] || {};
data["USER_LIKES"]["userId3"]["publishedContentId3"] = admin.database.ServerValue.TIMESTAMP


在尝试在较低级别创建内容之前,您应该测试每个对象的存在性。在尝试在较低级别创建内容之前,您应该测试每个对象的存在性。@isuru,如果您根据帖子中的其他对象应用多个
publishedContent
属性,您还可以将它们全部添加到该答案第二个选项的
{}
中。@isuru,如果您根据帖子中的其他对象应用了多个
publishedContent
属性,您还可以将它们全部添加到该答案第二个选项的
{}
中。