[解決済み】Javascriptのイテラブルを配列に変換する
質問
新しい 地図 オブジェクトは、FirefoxとChromeの最新バージョンですでにサポートされているからです。
しかし、quot;functional" プログラミングでは非常に限定的だと感じています。なぜなら、古典的なマップやフィルタなどのメソッドがないためです。
[key, value]
のペアです。forEachはありますが、これはコールバックの結果を返しません。
もし、その
map.entries()
を MapIterator から単純な Array に変換すれば、標準の
.map
,
.filter
を追加でハックする必要はありません。
JavascriptのIteratorをArrayに変換する良い方法はありますか?
Pythonでは、次のように簡単にできます。
list(iterator)
... しかし
Array(m.entries())
は、Iterator を最初の要素とする配列を返します!!!!
EDIT
私はMapが動作する場所、つまり少なくともChromeとFirefoxで動作する答えを探していることを明記するのを忘れていました(Array.fromはChromeでは動作しません)。
PS.
ファンタジスタがいるのは知っている wu.js が、traceurに依存しているため、気が進まない...。
解決方法は?
新しい
Array.from
機能
は、任意の反復表を配列インスタンスに変換します。
var arr = Array.from(map.entries());
現在では Edge、FF、Chrome、Node 4+でサポートされています。 .
もちろん
map
,
filter
といったメソッドをイテレータのインターフェイスで直接使用することで、配列の確保を回避することができます。また、高階の関数の代わりにジェネレータ関数を使用するのもよいでしょう。
function* map(iterable) {
var i = 0;
for (var item of iterable)
yield yourTransformation(item, i++);
}
function* filter(iterable) {
var i = 0;
for (var item of iterable)
if (yourPredicate(item, i++))
yield item;
}
関連
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】TypeError: res.status は関数ではありません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)