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