JavaScript で正の数を負の数に変換するには?質問する

JavaScript で正の数を負の数に変換するには?質問する

基本的には、abs の逆です。次の場合:

if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) {
  slideNum = -slideNum
}
console.log(slideNum)

どのコンソールでも常に正の数値が返されます。どうすればこれを修正できますか?

私が行った場合:

if ($this.find('.pdxslide-activeSlide').index() < slideNum - 1) {
  _selector.animate({
    left: (-slideNum * sizes.images.width) + 'px'
  }, 750, 'InOutPDX')
} else {
  _selector.animate({
    left: (slideNum * sizes.images.width) + 'px'
  }, 750, 'InOutPDX')
}

動作しますが、"DRY" ではありませんし、 のためだけにコードブロック全体を用意するのは愚かなことです-

ベストアンサー1

Math.abs(num) => Always positive
-Math.abs(num) => Always negative

ただし、コードについては次の点に注意してください。

if($this.find('.pdxslide-activeSlide').index() < slideNum-1) {
   slideNum = -slideNum;
}

console.log(slideNum)

見つかったインデックスが3で、slideNumが3の場合、slideNum
3 < 3-1 => false
肯定的なまま??

私にはそれは論理エラーのように見えます。

おすすめ記事