• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列から任意の2つを削除するには?)

配列から任意の2つを削除する方法

このQ&Aのポイント
  • 配列から任意の2つの要素を同時に削除する方法について教えてください。
  • 現在の方法では要素を一つずつ削除する必要があり、ややこしく感じます。よりシンプルな方法があれば教えてください。
  • 問題の配列から要素を同時に削除するための効率的な方法についてアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

Excel(マイクロソフト エクセル)では, 頻繁に「空白セルの削除」とか「重複値の行を削除」などをします。 そんなときは決まって(お決まりの手段として), 最終行もしくは最終列から,先頭行もしくは先頭列に向かって削除をします。 理由は同じです。 1行目,2行目,3行目… と走査して, もし条件に適合した行があったときその行を削除すれば, 1つずつ行が繰り下がって,処理を1行を飛ばしてしまうからです。 つまりずれるのです。 この Excel のお決まり手段と同様にすれば良いと思います。 検証はしていませんが, こんな感じで行けるのではないかと思います↓。 --------------------------------------------- hairetuList.splice(Math.max(sentakuA, sentakuB)-1,1) hairetuList.splice(Math.min(sentakuA, sentakuB)-1,1) --------------------------------------------- Math.max(X, Y) は X と Y を比較し大きい方の値を返します。 Math.min(X, Y) は X と Y を比較し小さい方の値を返します。 大きい方(後の方)の要素を先に削除して, 小さい方(先頭の方)の要素を削除するので, ズレはおこらないと思います。

pekopyon
質問者

お礼

なるほど!!Mathで大小を比較すればいいんですね! 記して頂いた方法でうまくいきました! 大変勉強になりました。有難う御座いました。

関連するQ&A