ES6 マップで配列オブジェクトをキーとして使用する
P粉344355715
P粉344355715 2023-10-21 18:06:40
0
2
754

Node 4.0 を使用しており、今のところその機能がとても気に入っているので、コードを ES6 に更新しようとしています。ただし、新しい ES6 Map データ構造では、Array をキーとして使用すると {} とは異なる動作をするため、問題があります。カウンターマップとして使ってます。

このコードを実行するのですが、配列を Map のキーとして使用する方法を知りたいと思っています。

リーリー

次のように出力されます。最初の行は unknown: ではなく 1

である必要があります。 リーリー

元の JS マップはキーを文字列化しますが、新しい ES6 Map で同じタイプの文字列化ハックを実行したくありません。

ES6 Map で配列をキーとして確実に使用するにはどうすればよいですか?

P粉344355715
P粉344355715

全員に返信(2)
P粉529245050

キーとして使用される Array の非プリミティブ インスタンスへの参照を保存する必要があります。次の 2 つの例の違いに注意してください:

リーリー
いいねを押す +0
P粉978551081

ES2015 マップ キーの比較を理解することは、=== 演算子を使用することと (ほぼ) 似ています。 2 つの配列インスタンスは、同じ値が含まれている場合でも、=== 形式で相互に比較されません。

###これを試して:### リーリー

Map クラスは基本クラスとして使用することを目的としているため、オーバーライドされた

.get()

関数を使用してサブクラスを実装できる場合があります。 (最初の文の「ほぼ」は、Map キーの等価性比較が

Object.is()

を通じて行われることを反映しています。これは日常のコーディングではほとんど発生しません。本質的に、JavaScript における等価性 3 番目 バリアントをテスト済み。)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート