我錯過了某些東西,如果有人可以請向我解釋。我試圖將現有代碼重新編寫爲三元運算符方式。 我得到以下控制檯錯誤:不理解嵌套的三元運算符
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