关联数组中的键名

Cli*_*int 0 javascript jquery associative-array

我正在尝试将项目添加到关联数组,但未正确生成我的密钥名称。我的代码如下:

var room_name = $('#room_name').val();
var item_name = $('#item_name').val();
var item_description = $('#item_description').val();
roominventory[room_name] = { item_name : item_description };
Run Code Online (Sandbox Code Playgroud)

正在发生的事情是我得到

{
    "Correct room name": {
        "item_name": "correct item description"
    }
}
Run Code Online (Sandbox Code Playgroud)

除了item_name. 我希望键名是值,item_name但我只是得到 text item_name

任何想法我做错了什么?

Ror*_*san 5

您不能使用您正在使用的语法在对象键中使用变量,因为它们是按字面意思理解的。您需要使用括号表示法,因为您在roominventory. 尝试这个:

var room_name = $('#room_name').val();
var item_name = $('#item_name').val();
var item_description = $('#item_description').val();

var obj = {};
obj[item_name] = item_description;
roominventory[room_name] = obj;
Run Code Online (Sandbox Code Playgroud)