Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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:Array.push()与文字(括号)表示法_Javascript_Arrays - Fatal编程技术网

JavaScript:Array.push()与文字(括号)表示法

JavaScript:Array.push()与文字(括号)表示法,javascript,arrays,Javascript,Arrays,我指的是 为什么代码段2不返回与代码段1相同的结果 代码片段1: 代码段2: 编辑: 为什么代码段3的行为像预期的那样,为每个事件系列添加一个对象,而代码段4没有 代码片段3: 代码片段4: ar.push{/*…*/}创建一个对象并将该对象推入数组 ar['eventTitle']=e.getTitle;这样可以在数组上创建属性,每次这些名称都会覆盖以前的值。它们不会将条目放入数组中 如果您的目标是将对象放入数组中,则推送的版本是正确的 在数组上具有任意属性似乎有些奇怪,但标准数组是对象,因此

我指的是

为什么代码段2不返回与代码段1相同的结果

代码片段1:

代码段2:

编辑:

为什么代码段3的行为像预期的那样,为每个事件系列添加一个对象,而代码段4没有

代码片段3:

代码片段4:

ar.push{/*…*/}创建一个对象并将该对象推入数组

ar['eventTitle']=e.getTitle;这样可以在数组上创建属性,每次这些名称都会覆盖以前的值。它们不会将条目放入数组中

如果您的目标是将对象放入数组中,则推送的版本是正确的

在数组上具有任意属性似乎有些奇怪,但标准数组是对象,因此可以向它们添加属性

如果要使用赋值添加到数组中,可以这样做:

ar[ar.length] = {eventTitle: e.getTitle(), eventId: id, startDate: e.getAllDayStartDate(), endDate: e.getAllDayEndDate()};
push实际上就是这样做的。

ar.push{/*…*/}创建一个对象并将该对象推送到数组中

ar['eventTitle']=e.getTitle;这样可以在数组上创建属性,每次这些名称都会覆盖以前的值。它们不会将条目放入数组中

如果您的目标是将对象放入数组中,则推送的版本是正确的

在数组上具有任意属性似乎有些奇怪,但标准数组是对象,因此可以向它们添加属性

如果要使用赋值添加到数组中,可以这样做:

ar[ar.length] = {eventTitle: e.getTitle(), eventId: id, startDate: e.getAllDayStartDate(), endDate: e.getAllDayEndDate()};

这就是push的有效功能。

在第一个示例中,reduce函数将数据推送到聚合数组中

ar.push({...})
在第二个示例中,聚合将数组上的值设置为键,数组===JS中的对象


在第一个示例中,reduce函数将数据推送到聚合数组中

ar.push({...})
在第二个示例中,聚合将数组上的值设置为键,数组===JS中的对象


第一个示例代码使用push,即向数组ar添加一个或多个对象


第二个sampel代码使用括号表示法,它正在更改对象ar中的值。

第一个示例代码使用push,它正在向数组ar添加一个以上的对象


使用括号表示法的第二个sampel代码,它正在更改对象ar中的值。

谢谢!我需要使用变量值,例如e.getTitle.substr0,e.getTitle.indexOf'something'作为键。如何做到这一点?@Ben-:-非常感谢。我需要使用变量值,例如e.getTitle.substr0,e.getTitle.indexOf'something'作为键。如何做到这一点?@Ben-:-
ar[ar.length] = {eventTitle: e.getTitle(), eventId: id, startDate: e.getAllDayStartDate(), endDate: e.getAllDayEndDate()};
ar.push({...})
ar['key-name'] = whatever