首页 > 解决方案 > 看到一个表情。Javascript 错误

问题描述

所以,我有一个典型的问题,Expected an assignment or function call and instead saw an expression.我知道这里有很多这样的问题和答案,但是没有人不帮助我。

请提供真正的帮助,阻止我的问题。

谢谢!

Object.keys(CDs).map(key => {
  parseInt(key) === additionalInfo.currentQueue[0] // Expected an assignment or function call and instead saw an expression
    ? CDs[key] += 1
    : CDs[key]
})

标签: javascript

解决方案


警告告诉您那里有一个孤立的表达式,一个与任何东西都没有关联的表达式。那里的三元将解析为CDs[key]or的值CDs[key] + 1,但该值将被忽略 - 就像5in

function x() {
  5;
}

如果您打算使用新数组map的键CDs,请使用箭头函数的隐式返回,将表达式括在括号中而不是方括号中:

const result = Object.keys(CDs).map(key => (
  parseInt(key) === additionalInfo.currentQueue[0]
    ? CDs[key] + 1 // were you intending to mutate the original object as well here?
    : CDs[key]
));

如果您不打算CDs在此期间进行变异map,则可以考虑Object.entries改为一次性给您键和值:

const result = Object.entries(CDs).map(([key, value]) => (
  parseInt(key) === additionalInfo.currentQueue[0]
    ? value + 1
    : value
));

推荐阅读