アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。
配列の1要素を代入した変数を使って、元の配列要素を削除できますか。
例えば、
const arr = [{typ: '肉', nam: 'ステーキ'}, {typ: '肉', nam: 'ハンバーグ'}], elm = arr[i]
とした時、後からelmを使ってarrの要素を削除するにはどうすれば良いですか。

A 回答 (1件)

案1.


配列 arr から elm の位置を探して削除する
https://developer.mozilla.org/ja/docs/Web/JavaSc …
https://developer.mozilla.org/ja/docs/Web/JavaSc …

案2.
配列 arr から elm だけを除外した結果を arr に再代入する
https://developer.mozilla.org/ja/docs/Web/JavaSc …
    • good
    • 0
この回答へのお礼

findIndex()を使えばelmのインデックスが簡単に分かるのですね。
filter()を使って再代入する案も巧妙で面白いですが、案1の方が分かりやすくて好きです。速さも案1に軍配か。
しかし、どちらにせよ配列の走査は不可避という事が分かりました。

ですからelm = iのようにelmにはインデックスのみを入れておく方が良いのかと思いました。
これだと要素を読むときのコードが長くなって嫌ですが、後で要素を簡単に削除できるという利点は大きいと思いました。

お礼日時:2023/07/28 09:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!