[解決済み] イテレータでmap()を使用する
2022-07-23 20:54:39
質問
ある地図があるとする。
let m = new Map();
を使って
m.values()
はマップイテレータを返します。
しかし、私は
forEach()
または
map()
のような関数が提供されているので、そのイテレータでwhileループを実装するのはアンチパターンのように思われます。
map()
.
では
map()
をイテレータ上で使う方法はあるのでしょうか?
どのように解決するのですか?
この 最もシンプルな と 最も低いパフォーマンス という方法があります。
Array.from(m).map(([key,value]) => /* whatever */)
まだまし
Array.from(m, ([key, value]) => /* whatever */))
Array.from
は、任意の反復処理や配列に似たものを受け取り、それを配列に変換します! Danielがコメントで指摘しているように、変換にマッピング関数を追加することで、反復を削除し、その後、中間配列を削除することができます。
を使って
Array.from
を使うと、パフォーマンスが
O(1)
から
O(n)
をコメントで@hrabanさんが指摘されています。このため
m
は
Map
であり、それらは無限にはなり得ないので、無限列を心配する必要はない。ほとんどの場合、これで十分でしょう。
マップをループする他の方法がいくつかあります。
使用方法
forEach
m.forEach((value,key) => /* stuff */ )
使用方法
for..of
var myMap = new Map();
myMap.set(0, 'zero');
myMap.set(1, 'one');
for (var [key, value] of myMap) {
console.log(key + ' = ' + value);
}
// 0 = zero
// 1 = one
関連
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] IteratorをStreamに変換するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] uint8配列をbase64エンコードされた文字列に変換する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptセットでオブジェクトの等価性をカスタマイズする方法
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] レンダリング時にonClickが呼ばれるのはなぜですか?- React.js