JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでセット(Set)から要素を削除する方法

JavaScriptのセット(Set)から要素を削除するには、deleteメソッドを使用します。このメソッドは、まず指定した値がすでにセット内に存在するかどうかをチェックし、存在する場合のみその値を削除してtrueを返します。値が存在しない場合は、セットに変更を加えずにfalseを返します。

deleteメソッドの実装例

独自のセットクラスにdeleteメソッドを実装すると、次のようになります。

delete(val) {
    if (this.has(val)) {
        delete this.container[val];
        return true;
    }
    return false;
}

動作確認

実際にコードを実行して動作を確認してみましょう。

const testSet = new MySet();

testSet.add(1);
testSet.add(2);
testSet.add(5);
testSet.delete(5);
testSet.delete(2);
testSet.display();

console.log(testSet.has(5));
console.log(testSet.has(20));
console.log(testSet.has(1));

出力結果

上記のコードを実行すると、以下の出力が得られます。

{ '1': 1 }
false
false
true

delete(5)delete(2)が呼び出されたため、セットには値「1」だけが残っています。has()による存在確認では、削除済みの「5」と最初から存在しない「20」はfalse、「1」はtrueとなることがわかります。

ES6のSetでdeleteを使う方法

ES6で標準搭載されたSetオブジェクトでも、同じようにdelete関数を使って要素を削除できます。

const testSet = new MySet();

testSet.add(1);
testSet.add(2);
testSet.add(5);
testSet.delete(5);

console.log(testSet.has(5));
console.log(testSet.has(20));
console.log(testSet.has(1));

出力結果

このコードを実行すると、次の出力になります。

false
false
true

このように、ES6の標準Setではdeleteメソッドを呼び出すだけで簡単に要素を削除でき、戻り値として削除に成功したかどうか(true / false)を受け取れます。存在しない要素を削除しようとしてもエラーにならず、単にfalseが返されるため、安全に扱えるのが特徴です。

  1. JavaScriptで双方向連結リストの要素を削除する方法

    双方向連結リストから要素を削除する仕組み連結リストからの要素削除は非常にシンプルです。やるべきことは「削除したいノードへの参照を失わせる」こと、つまり対象ノードをリンクのチェーンから切り離すだけです。ただし、削除する位置によって処理が異なるため、次の3つのケースを考慮する必要があります。先頭(head)の要素を削除する: head = head.next と代入するだけで、先頭ノードへの参照は失われ、headは2番目の要素を指すようになります。このとき、新しいheadのprevをnullに設定し、前方向のリンクも忘れずに切っておきます。末尾(tail)の要素を削除する: 後ろから2番目のノード

  2. JavaScriptのsplice()メソッドで配列から要素を削除する方法【コード例付き】

    JavaScriptのsplice()メソッドを使うと、配列から指定した位置の要素を簡単に削除できます。このメソッドは元の配列を直接変更する点が特徴です。 splice()メソッドの基本構文 arr.splice(start, deleteCount) start: 削除を開始するインデックス位置(0から始まります) deleteCount: 削除する要素の数。省略すると、開始位置から配列の末尾までがすべて削除されます 以下は、splice()メソッドを使用して配列の1番目から5番目の間の要素(インデックス1〜4)を削除するサンプルコードです。 コード例 <!DOCTYPE html