首页 > 解决方案 > 尝试从数据模型中创建新对象

问题描述

我有一个这样的数据模型。

data: object = {
  date: '11/11/18',
  data: [3, 4, 7, 2, 5, 6, 8, 8]
 }

数据数组来自用户的一些输入。从指数0开始,我希望它们是职业、财务、个人成长、健康、家庭、人际关系、社会生活、态度。

我想要做的是获得最低分(这将是 2 '健康')并将其添加到这样的对象中。

data: object = {
  lowestScore = 2,
  lowerScoreName = 'Health'
}

我对 javaScript 相当陌生,我坚持如何解决这个问题。谢谢

标签: javascriptarraysobject

解决方案


您可以制作两个相关的数组(关联数组),如下所示:

data: object = {
    dataTypes: ['Career', 'Finances', 'Personal Growth', 'Health', 'Family', 'Relationships', 'Social Life', 'Attitude'],
    dataValues: [3, 4, 7, 2, 5, 6, 8, 8],
}

然后获得最低分:

lowestScore: Math.min(this.dataValues),
lowestScoreIndex: this.dataValues.indexOf(this.lowestScore);

并设置最低分的名称:

lowestScoreName: this.dataTypes[lowestScoreIndex]

你去吧!这是完整的对象:

data: object = {
    dataTypes: ['Career', 'Finances', 'Personal Growth', 'Health', 'Family', 'Relationships', 'Social Life', 'Attitude'],
    dataValues: [3, 4, 7, 2, 5, 6, 8, 8],
    lowestScore: Math.min(this.dataValues),
    lowestScoreIndex: this.dataValues.indexOf(this.lowestScore);
    lowestScoreName: this.dataTypes[lowestScoreIndex]
}

推荐阅读