JavaScript对象操作问题

JavaScript对象操作问题,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,目前,我正在开发一款ionic应用程序(angular1),我正在开发一个巨大的对象 对象将如下所示: userWorkouts: [ { title: '3 Split', id: 1, workoutImg: '', workoutSessions: { 1: { workoutSessionName: 'Monday', workoutExerciseList: { 1: {

目前,我正在开发一款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次训练(周一、周三、周五)。课程还包括x套练习

问题:我想修改此对象,但有几个问题:

问题:我想添加会话(周一、周三、周五)


不起作用,因为它是一个对象。是否有其他方法“推送”对象?

不确定是否需要使用1。数组或2。
workoutSessions的对象

  • 您可以使用数组来保存
    workoutSessions
    而不是对象,因为您已经使用整数作为键,然后只需使用
    push()添加即可
  • 检查角度。延伸
  • 下面是选项2的一个例子:

    如果我明白了,试着改变一下

    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) 
    

    这是问题2还是错误?为什么要用递增整数作为键的对象?为什么不使用数组?同意
    workoutSessions
    workoutExerciseList
    exerciseset
    都应定义为对象数组,而不是对象数组。
    var session = {
            workoutSessionName: sessionName
          };
    
    userWorkouts[1].workoutSessions.push(session)