[解決済み] 動的なキーを持つオブジェクトの作成 [重複]。
2022-03-24 09:07:13
質問
まず最初に チェリオ Node.jsでDOMアクセスやパースをしています。いい時代になったものだ。
このような状況です。
ある関数で、オブジェクトを作成する必要があります。そのオブジェクトは、キーと値の両方に変数を使用し、その単一のオブジェクトを返します。例
stuff = function (thing, callback) {
var inputs = $('div.quantity > input').map(function(){
var key = this.attr('name')
, value = this.attr('value');
return { key : value }
})
callback(null, inputs);
}
このように出力されます。
[ { key: '1' }, { key: '1' } ]
(
.map()
はオブジェクトの配列を返します(参考)。
必要なのは
key
を実際に文字列として
this.attr('name')
.
Javascriptで文字列をキーとして割り当てるには、私がやろうとしていることを考慮すると、どのような方法が一番良いのでしょうか?
どのように解決するのですか?
新しい ES2015 標準 JavaScript (以前は ES6 と呼ばれていました) では、オブジェクトは 計算されたキー : オブジェクトイニシャライザ仕様 .
という構文になっています。
var obj = {
[myKey]: value,
}
OPのシナリオに当てはめると、次のようになります。
stuff = function (thing, callback) {
var inputs = $('div.quantity > input').map(function(){
return {
[this.attr('name')]: this.attr('value'),
};
})
callback(null, inputs);
}
注 にはトランスパイラが必要です。 ブラウザ互換性 .
使用方法 バベル または Googleのtraceur が可能です。 今日からこの構文で .
以前のJavaScriptの仕様(ES5以下)では、オブジェクトリテラルのキーは常に文字列として解釈されます。
dynamic"キーを使用するためには ブラケット表記 :
var obj = {};
obj[myKey] = value;
あなたの場合
stuff = function (thing, callback) {
var inputs = $('div.quantity > input').map(function(){
var key = this.attr('name')
, value = this.attr('value')
, ret = {};
ret[key] = value;
return ret;
})
callback(null, inputs);
}
関連
-
jQueryのコピーオブジェクトの説明
-
vueの補間表現とv-textディレクティブの違いについて
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
要素ツリー制御によるvueTreeテーブル
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
jQueryのコピーオブジェクトの説明
-
Vueにシンプルなメモ帳機能を実装
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
[解決済み] JavaScriptのオブジェクトリテラルで変数をキーとして使用するには?