私はこのようなコードを持っています。
var key = "anything";
var object = {
key: "key attribute"
};
それkeyを「何でも」に置き換える方法があるかどうか知りたいです。
お気に入り
var object = {
"anything": "key attribute"
};
回答:
ES6では、計算されたプロパティ名を使用します。
const key = "anything";
const object = {
[key]: "key attribute"
// ^^^^^ COMPUTED PROPERTY NAME
};
の周りの角括弧に注意してくださいkey。実際には、変数だけでなく、角括弧内の任意の式を指定できます。
はい。次を使用できます。
var key = "anything";
var json = { };
json[key] = "key attribute";
または、プログラムの作成時に値が手元にある場合は、2番目の方法を使用します。
解決:
var key = "anything";
var json = {};
json[key] = "key attribute";
最近、動的なjsonキー値を渡すCookieを設定する方法のソリューションが必要でした。https://github.com/js-cookie/js-cookie#jsonを使用すると、簡単に実行できます。ユーザーの選択された各オプション値をCookieに保存したかったので、タブまたはブラウザーがシャットダウンしても失われません。
var json = {
option_values : {}
};
$('option:selected').each(function(index, el) {
var option = $(this);
var optionText = option.text();
var key = 'option_' + index;
json.option_values[key] = optionText;
Cookies.set('option_values', json, { expires: 7 } );
});
次に、を使用して、各ページの読み込み時に各Cookieキー値を取得できます。
Cookies.getJSON('option_values');
まあ、これを行うための「直接的な」方法はありません...
しかし、これはそれを行う必要があります:
json[key] = json.key;
json.key = undefined;
少し注意が必要ですが、うまくいきます。