[解決済み] ES6 のフィルタリングとマップノデルリスト
2022-07-23 21:13:23
質問
ES6でnodelistをフィルタリングまたはマップする最も効率的な方法は何ですか?
私の読書に基づいて、私は次のオプションのいずれかを使用します。
[...nodelist].filter
または
Array.from(nodelist).filter
どれがお勧めですか?また、例えば配列を使用しない、より良い方法はありますか?
どのように解決するのですか?
-
[...nodelist]
は、オブジェクトが反復可能であれば、オブジェクトから配列を作成します。 -
Array.from(nodelist)
は、オブジェクトが反復可能な場合、オブジェクトから配列を作成します。 または オブジェクトが配列のようなものである場合 (.length
と数値のプロップがある)
あなたの2つの例は
NodeList.prototype[Symbol.iterator]
が存在する場合、2つの例は同じになります。なぜなら、どちらの場合も反復記号を扱っているからです。もし、あなたの環境が
NodeList
が反復可能であるように環境が設定されていない場合、最初の例は失敗し、2番目の例は成功します。
Babel
現在
はこのケースを適切に処理しません。
.
そのため、もしあなたの
NodeList
が反復可能な場合、どちらを使うかは本当にあなた次第です。私なら、ケースバイケースで選ぶと思います。一つの利点は
Array.from
の利点は、マッピング関数の第二引数を取ることです。
[...iterable].map(item => item)
では一時的な配列を作らなければならないのに対し
Array.from(iterable, item => item)
はそうではありません。しかし、リストをマッピングしないのであれば、それは問題ではありません。
関連
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] オブジェクトの配列に対するgroupbyの最も効率的な方法
-
[解決済み] JavaScriptでクラスを定義するために使用できるテクニックと、そのトレードオフとは?
-
[解決済み] SetをArrayに変換するには?
-
[解決済み] JavaScriptでオブジェクトの配列から明確な値を取得する方法は?
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み】ES6クラス変数の代替品
-
[解決済み】N個の配列を連結する最も効率的な方法は何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] マングース ユーザーの全リストを取得する