私はこのようなコードを持っています。JavaScriptオブジェクトのリテラルで変数キーを使用する方法はありますか?
key
を「anything」に置き換える方法があるかどうかを知りたいのですが。
var object = {
"anything": "key attribute"
};
私はこのようなコードを持っています。JavaScriptオブジェクトのリテラルで変数キーを使用する方法はありますか?
key
を「anything」に置き換える方法があるかどうかを知りたいのですが。
var object = {
"anything": "key attribute"
};
よう
はい。
var key = "anything";
var json = { };
json[key] = "key attribute";
また、プログラムを書くときの値がわかっている場合は、2番目の方法を使用してください。
まあ、ない...
これを行うには、「直接」方法があるが、これはそれを行う必要があります。
はjson[key] = json.key;
json.key = undefined;
その少しトリッキー、ちょっと、それは働きます! 、ES6で
var key = "anything";
var json = {};
json[key] = "key attribute";
これはトリックを行う必要があります。
const key = "anything";
const object = {
[key]: "key attribute"
// ^^^^^ COMPUTED PROPERTY NAME
};
大括弧はkey
です。実際には、変数だけでなく、角括弧内の任意の式を指定することができます。
computed property namesを使用します。
これは新しい受け入れ回答でなければなりません – Phoenix
はクロムのようにうまく機能します。最も簡単で最善の答え(y) –
クローズはこれに最適です。
function keyValue(key){
return function(value){
var object = {};
object[key] = value;
return object;
}
}
var key = keyValue(key);
key(value);
閉鎖はここで使用されているメカニズムに過ぎません。概念はHOFです。 –
HOF =高次関数。 – Rick
ソリューション:
var key = "anything";
var json = {};
json[key] = "key attribute";
解決策を説明してください。 –
@MartinZabel説明が必要ないようです。 –
最近ダイナミックJSONのキー値を渡してクッキーを設定するために、どのように解決策を必要としていました。 https://github.com/js-cookie/js-cookie#jsonを使用すると、簡単に行うことができます。 ユーザの選択した各オプション値をクッキーに保存したいので、タブやブラウザがシャットダウンした場合に失われることはありません。
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 });
});
次に、あなたは
Cookies.getJSON('option_values');
を使用して、各ページの読み込み時に各クッキーのキー値を取得することができます。しかし、彼はオブジェクトリテラルのコンテキストでこれをやりたいです。 –