目前我正在开发一个离子应用程序(angular1),我正在研究一个巨大的物体。
对象将如下所示:
userWorkouts: [
{
title: '3 Split',
id: 1,
workoutImg: '',
workoutSessions: {
1: {
workoutSessionName: 'Monday',
workoutExerciseList: {
1: {
exerciseName: "Pull Ups",
exerciseSets: {
1: 20,
2: 12,
3: 8
}
},
2: {
exerciseName: "Pull Ups",
exerciseSets: {
1: 20,
2: 12,
3: 8
}
}
}
}
}
},
{
title: 'Kraftausdauer Teil 1',
id: 2,
workoutImg: ''
},
{
title: 'Kraftausdauer Teil 2',
id: 3,
workoutImg: ''
},
{
title: '7 Minuten Training',
id: 4,
workoutImg: ''
},
{
title: 'Workout Zuhause',
id: 5,
workoutImg: ''
}
]
例如:用户有x个锻炼。每次锻炼都有x次会议(周一,周三,周五)。一个会话还有x个练习x套。
问题:我想修改这个对象,但我遇到了一些问题:
问题:我想添加会话(星期一,星期三,星期五)。
var session = {
workoutSessionName: sessionName
};
userWorkouts[1].push(session)
不起作用,因为它是一个对象。还有另一种“推”到对象的方法吗?
答案 0 :(得分:3)
如果我理解,请尝试改变这一点。
var session = {
workoutSessionName: sessionName
};
userWorkouts[1].workoutSessions.push(session)
并像这样使用
{{1}}
答案 1 :(得分:1)
不确定是否需要使用1. array或2. object workoutSessions
workoutSessions
而不是对象,因为您已经使用整数作为键,然后使用push()
angular.extend
https://docs.angularjs.org/api/ng/function/angular.extend 这是选项2的插件: https://plnkr.co/edit/x0isJdzXHq2gX7vfsQdG?p=preview