0
我剛剛拿起ternary
聲明的概念,並試圖用它來代替我熟悉的if/else if/else
聲明。但代碼似乎有一個語法錯誤。什麼是ternary
聲明無法做到if
聲明可以做到的?我想知道ternary
語句是否更適合執行簡單的命令。JavaScript:在`if`語句中工作的`for循環`在`ternary`語句中不起作用?爲什麼?
的「bin」陣列子陣列的集合,由從「庫存」陣列丟棄的物品,的splice
和push
方法禮貌。
var bin = [ ['Orichalcum'], ['Rapier', 'Panacea'], ['Bow'], ['Antidote', 'Cheese', 'Whip'],
['Elixir', 'Herb'], ['Timbrel', 'Dagger', 'Boomerang'] ];
var message = (! bin.length) ?
'No items have been removed.'
: (bin.length === 1) ?
bin[0].length + ' items have been removed.'
: (
for (var i = 1; i < bin.length; i++) {
for (var j = 0; j < bin[i].length; j++) {
bin[0].push(bin[i][j]);
}
},
bin[0].length + ' items have been removed.'
);
alert(message);
做**不** **濫用像這樣的三元。這是令人厭惡的醜陋代碼。嵌套三元超越「濫用」爲「種族滅絕的理由」 –
相關:http://stackoverflow.com/questions/34292255/short-circuit-with-a-return-statement – Xufox
這裏真正的問題可能是爲什麼這樣做?與「if」相比,閱讀非常困難。 。 。 else語句。此外,您還沒有指出什麼是和不在工作,您收到了什麼輸出,您期望輸出什麼? – CollinD