JavaScript 对象操作问题

标签 javascript angularjs ionic-framework

目前我正在开发一个 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/

相关文章:

javascript - 创建一个使用 Vue 和 Typescript 的 Meteor 项目

javascript - Nodejs setInterval 每 30 秒重复一次任务

angularjs - 在 AngularJS 中以编程方式在 Div 上设置 zIndex

基于表单答案的 Javascript 计算

javascript - 以 Angular 将服务添加到 Controller

html - 删除 ionic 中 ionic 列表元素的焦点线

javascript - 检索 Json 字符串的一部分

javascript - 动态柯里化(Currying),以及如何在 JavaScript 变量中同时保存函数和值

angularjs - $rootScope.$new() 和 $rootScope.$new(true) 有什么区别?

angular - ionic 4 : Ion-checkbox checked not updating from ionchange