Javascript では、辞書の内包、またはオブジェクトの `map` が使用されます。
2023-10-10 01:50:51
質問
Javascriptでリストからいくつかのオブジェクトを生成する必要があります。Pythonでは、私はこれを書くでしょう。
{key_maker(x): val_maker(x) for x in a_list}
別の言い方をすれば、次のようなものが存在するかということです。
jQuery.map()
のような、オブジェクトを集約するようなものはあるのでしょうか?以下は私の推測です(うまくいきません)。
var result = {}
$.map(a_list, function(x) {
$.extend(result, {key_maker(x): val_maker(x)})
})
どのように解決するのですか?
仮定の話
a_list
が Array であるとすると、最も近いのは
.reduce()
.
var result = a_list.reduce(function(obj, x) {
obj[key_maker(x)] = val_maker(x);
return obj;
}, {});
配列内包はJavaScriptの将来のバージョンで登場する可能性が高いです。
ES5非対応の実装にパッチをあてるには 互換性パッチ .
もし
a_list
が配列でなく、単なるオブジェクトである場合
Object.keys()
を使って同じ操作を行うことができます。
var result = Object.keys(a_list).reduce(function(obj, x) {
obj[key_maker(a_list[x])] = val_maker(a_list[x]);
return obj;
}, {});
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み】JavaScriptのオブジェクトの長さ
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] BlobからArrayBufferへ移行する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonにMultiline Lambdaはない。なぜダメなのか?
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法