我错过了某些东西,如果有人可以请向我解释。我试图将现有代码重新编写为三元运算符方式。 我得到以下控制台错误:不理解嵌套的三元运算符
Uncaught SyntaxError: Unexpected token }
我的理解有我似乎无法找到格式不正确的条件。所以我不确定我错过了什么,或者如果我可能误解了过滤器功能中的某些内容?不是吗? item.verified === true不假设自动返回真的对象?
var engagement = "social";
var audience = [{ 'verified': true, 'name': 'Steve'},
{ 'verified': false, 'name': 'Phil'},
{ 'verified': true, 'name': 'Jason'}];
let data = [];
data = audience.filter((item) => {
(engagement === "social")
? item.verified === true
: (engagement === 'social-crm')
? item.verified === false
: (engagement === 'all')
? item
})
,我明白的语法:
data = audience.filter((item) => {
if (this.engagement === 'social-crm') {
return item.verified === true;
} else if (this.engagement === 'social') {
return item.verified === false;
} else if (this.engagement === 'all') {
return item;
}
});
这是我一直在试图玩弄小提琴: https://jsfiddle.net/phfilly/ya73e325/7/
“我正在尝试将现有代码重新编写为三元运算符方式。” - 别。正如你所注意到的,这很难理解。不要为需要维护代码的人做更多的工作。他们会恨你的。那个人很可能是你,但大概6个月大。 – Quentin
谢谢,我理解并且以同样的方式感受。然而,公司希望纳入标准并告诉我改变它#death – Muppet
发布的代码中存在语法错误。它不能以'?结束? item'。 – RobG