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