目前我正在开发一个 ionic 应用程序 (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 节课(周一、周三、周五)。一个 session 也有 x 套练习。
问题:我想修改这个对象,但有几个问题:
问题:我想添加 session (周一、周三、周五)。
var session = {
workoutSessionName: sessionName
};
userWorkouts[1].push(session)
不起作用,因为它是一个对象。还有另一种方法可以“推送”到对象吗?
最佳答案
如果我明白了,试着改成这个。
userWorkouts: [
{
title: '3 Split',
id: 1,
workoutImg: '',
workoutSessions: [{
{
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: ''
}
]
然后像这样使用
var session = {
workoutSessionName: sessionName
};
userWorkouts[1].workoutSessions.push(session)
关于JavaScript 对象操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091570/