[解決済み] .map()はJavascriptのES6 Mapか?
質問
あなたならどうしますか?本能的に、やりたいと思う。
var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]);
// wishful, ignorant thinking
var newMap = myMap.map((key, value) => value + 1); // Map { 'thing1' => 2, 'thing2' => 3, 'thing3' => 4 }
からはあまり収穫がありません。 のドキュメントからはあまり何も得ていません。 .
私が知っているのは wu.js を実行していますが バベル プロジェクトを実行しており トレーサー を含めたくないのであれば に依存しているようです。 .
を抽出する方法については、私も少し無知です。 をどのように抽出するのか、ちょっとわからない。 をどのように自分のプロジェクトに取り込むかについては、ちょっとお手上げです。
私がここで欠けているものについて、明確で簡潔な説明が欲しいです。ありがとうございます。
ES6 マップのドキュメント 参考までに
どのように解決するのですか?
そこで
.map
自体は、あなたが気にする1つの値しか提供しません...
とはいえ、これに取り組むにはいくつかの方法があります。
// instantiation
const myMap = new Map([
[ "A", 1 ],
[ "B", 2 ]
]);
// what's built into Map for you
myMap.forEach( (val, key) => console.log(key, val) ); // "A 1", "B 2"
// what Array can do for you
Array.from( myMap ).map(([key, value]) => ({ key, value })); // [{key:"A", value: 1}, ... ]
// less awesome iteration
let entries = myMap.entries( );
for (let entry of entries) {
console.log(entry);
}
注:この2番目の例では、多くの新しいものを使っています。
...
Array.from
は任意のイテラブルを取ります(いつでも、あなたが
[].slice.call( )
やSets、Mapを使います) を受け取り、それを配列に変えます... ...Mapは配列に強制されると、配列の配列になり、ここで
el[0] === key && el[1] === value;
(のような配列になります(基本的には、上で私が例のMapにプリフィルしたのと同じ形式です)。
ラムダの引数の位置で配列の再構築を行い、配列のスポットを値に割り当てて、各エルに対してオブジェクトを返しています。
Babel を使用している場合、実運用では、Babel のブラウザポリフィル ("core-js" と Facebook の "regenerator" を含む) を使用する必要があるでしょう。
私は、それが
Array.from
.
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] $.ajax実行中にローディングイメージを表示する
最新
-
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で2つの数値を連結する方法は?
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ