問題タブ [spaceship-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ternary-operator - 比較演算子(宇宙船演算子)は三項演算子でどのように扱われますか
PHP 7はまだリリースされていないため、この質問は少し先制的です。三項演算子のコンテキストで宇宙船演算子がどのように処理されるのか興味があります。
したがって、次のような宇宙船以前の三項式があるとします。
比較演算子を使用した同等の三項演算子は何でしょうか? 三項には、このシナリオを処理する何らかの手段がありますか? 私は三項演算子をかなり多く使用しており、比較演算子が関連するさまざまなインスタンスでコードを合理化する方法があるかどうかに興味があります。
php - PHP 7 の <=> (「宇宙船」演算子) とは何ですか?
今年 11 月にリリースされる PHP 7 では、Spaceship (<=>) 演算子が導入されます。それは何で、どのように機能しますか?
この質問には、 PHP 演算子に関する一般的な参照質問に既に回答があります。
javascript - 複合比較/Javascriptの「宇宙船」演算子(<=>)?
Ruby には結合比較または「宇宙船」演算子と呼ばれるものがあり、次のようになります。<=>
次のことを行います。
Javascriptに同様の演算子はありますか? そうでない場合、どうすれば同じ結果を得ることができますか?
@ madox2は、数値では機能しますが、配列では機能しない の使用を提案しMath.sign(a - b)
ました (配列を比較するには、 を使用する必要がありますarray.length
)。
また、Internet Explorer、Safari、またはすべてのモバイル ブラウザでは機能しません ( MDNを参照) 。
@duques_lはここで関数を見つけました。非常にうまく機能します。JSFiddleでテストできます
唯一の問題は、文字列が比較できない場合、関数が-1
代わりに返すことですnil
更新: @duques_lが関数を少し変更したところ、正常に動作するようになりました (とにかくそう思います。ここにJSFiddleがあります):
ruby - 並べ替え以外のルビ結合比較演算子/宇宙船演算子の使用はありますか?
並べ替えには、Ruby の複合比較演算子 (宇宙船演算子) が使用されます。この演算子をsort
関数で使用しましたが、この演算子のメカニズムを理解できません。この演算子の他の用途はありますか?