Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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 JS对象结构和添加_Javascript_Arrays_Object_Push - Fatal编程技术网

Javascript JS对象结构和添加

Javascript JS对象结构和添加,javascript,arrays,object,push,Javascript,Arrays,Object,Push,只是一个关于JS对象结构的问题。我有一个名为mainObject的对象我想将值推进去,以便它们以类似代码第二节的格式出现。这些值将添加到循环中。我希望能够做到以下几点: mainObject.data.push({lat : val['lat'], lng: val['lng'], count: 40});} 有人能告诉我怎么做吗?试着让我的头脑围绕JS对象 var mainObject = { max: 46}; var mainObject = { ma

只是一个关于JS对象结构的问题。我有一个名为
mainObject的对象
我想将值推进去,以便它们以类似代码第二节的格式出现。这些值将添加到循环中。我希望能够做到以下几点:

mainObject.data.push({lat : val['lat'], lng: val['lng'], count: 40});} 
有人能告诉我怎么做吗?试着让我的头脑围绕JS对象

var mainObject = {
    max: 46};

var mainObject = {
            max: 46,
            data: [{lat: 33.5363, lng:-117.044, count: 1},{lat: 33.5608, lng:-117.24, count: 1},{lat: 38, lng:-97, count: 1},{lat: 38.9358, lng:-77.1621, count: 1}]
    };

谢谢:)

在javascript
中。push
是为数组保留的。要添加到已具有属性的对象,只需执行以下操作

var mainObject = {
    max: 46
};

mainObject.data = [{lat : val['lat'], lng: val['lng'], count: 40}];
然后,您将得到一个如下所示的对象:

mainObject{
    max : 46,
    data : [{lat : val['lat'], lng: val['lng'], count: 40}]
}
这正是你想要的

编辑:

@cristoph指出,如果更改初始Main对象的实例化,则可以执行以下操作:

 var mainObject = {
     max : 46,
     data : [] 
 }

 mainObject.data.push({lat : val['lat'], lng: val['lng'], count: 40});
这会给你同样的结果

无论您选择哪种方式,只要
数据
main对象的属性并且是数组,就可以继续使用
。按
向其中插入更多元素

因此,对上述内容执行此操作:

 mainObject.data.push({foo : bar});
将产生:

 mainObject{
     max : 46,
     data : [{lat : val['lat'], lng: val['lng'], count: 40}, {foo : bar}]
 }

如果他有
main对象{max:46,data:[]}
,push就完全可以了。因此,OP可能唯一需要更改的是初始化
main对象
@Christoph yes,如果他已经拥有
数据
属性,并且它的值是一个数组。我相信他想添加一个新属性,您可以使用我演示的代码来执行此操作。但是,如果我推送多个项目,该怎么办?@user1840255查看我的最新更新,这将回答您的所有问题。这取决于。价值观从何而来?阵列?对象?为什么有
var mainObject
两次?对于第二个,您的
push
代码应该可以正常工作