gpt4 book ai didi

javascript - 添加变量名称而不是其值,javascript

转载 作者:行者123 更新时间:2023-11-28 08:10:57 25 4
gpt4 key购买 nike

我在向 JavaScript 对象添加值时遇到问题:要添加的值是一个 key,value 对。这是示例:

//JavaScript object

var cart=new Object();

function add()
{
var rating="1"
var category="somecat";
var user="user1";

if(cart[user]==null)

cart[user]={category:rating};

else

cart[user][category]=rating;
}

我期望的是,如果user存在于购物车对象中,那么他的特定值应该被替换,如果user不存在,那么新的用户和类别应该加上。

用户已经存在时,代码工作正常。问题是,当我使用 cart[user]={category: rating} 添加新元素时,它会添加变量名称作为键,即类别,而不是其中的值(“somecat”)。

有没有办法使用 json、jquery 或 javascript 本身来做到这一点?

有没有办法在变量内部赋值?

最佳答案

无法使用变量在对象文字表示法中定义属性名称。它接受标识符或字符串,但两者都标识属性名称,而不是变量。

您必须创建对象然后添加属性:

if(!cart[user]) { 
cart[user] = {};
}
cart[user][category] = rating;

关于javascript - 添加变量名称而不是其值,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com