如何为对象的字段使用动态值?

时间:2019-03-26 12:46:18

标签: javascript ecmascript-6

我有一个这样的对象SentimentScore

SentimentScore:
{Mixed: 0.00005830301233800128,
Negative: 0.0011920471442863345,
Neutral: 0.9854754209518433,
Positive: 0.013274261727929115}

我想要基于我在变量中设置的值,例如:

var finalSentiment1 = 'Neutral';
var finalSentiment2 = 'Positive';

我想改用变量,以找到SentimentScore字段的值。

SentimentScore.finalSentiment1之类的值应为0.0011920471442863345。

是否可以不使用条件语句?如果是,怎么办?预先感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用计算([])属性,该属性将使您可以动态地将表达式作为属性名称进行计算:

var SentimentScore = {
  Mixed: 0.00005830301233800128,
  Negative: 0.0011920471442863345,
  Neutral: 0.9854754209518433,
  Positive: 0.013274261727929115
}

var finalSentiment1 = 'Neutral';
var finalSentiment2 = 'Positive';

console.log(SentimentScore[finalSentiment1]);
console.log(SentimentScore[finalSentiment2]);