#1の方の解答を先にお読みいただいた上で。 条件演算子はifとおきかえれますので、 d=K-37?1:-1 は if(K!=37){d=1}else{d=-1}//数値のa!=bはa-bで代替可能 とかになります。 f?0:h+=d; は if(!f)h+=d; とか。 d=・・・のように、値を選ぶのが初歩的な使い方ですが、 f?0:・・・のように、処理を切り替えるのにも使えます。 ショートコーディングにおいて、if,elseを使うのは避けられます(長いから)ので、 条件演算子を知らないうちにショートコーディングに手を出したのは若干失敗ですね。 >>[]内は、配列と思われますが 誤解。 a=[0,1,2]のように[]の前に変数名になりうるものが無ければ配列になりますが、 Z[ ]の形ですので、Zという配列の(h+E[i]+d)番目の値を参照しています。 この値が仮に0だとすると、f+=Z[
![javascript 省略した記述と思われる部分の意味が分からない](https://cdn-ak-scissors.b.st-hatena.com/image/square/a73abc454de4aaacb370bad26db2312eacbc7375/height=288;version=1;width=512/https%3A%2F%2Foshiete.xgoo.jp%2Fimages%2Fsp%2Fqa_recommend%2F2101_2.jpg)