我尝试更新对象中的值并将其设置为当前值+另一个数字。例如,如果对象的值为5
,我希望它更新如下:对象键:当前值(5) + 7
container[response["id"]]["quantity"] += quantity;
console.log(container[response["id"]].attr("quantity"));
这就是我目前正在尝试的内容。我最终使用57
代替12
。
有什么想法吗?
答案 0 :(得分:4)
你得到一个字符串,+
与string
连接起来。首先使用parseInt()
或parseFloat()
解析数字而不是添加。
let number = parseInt(container[response["id"]]["quantity"]);
number += quantity;
container[response["id"]]["quantity"] = number;
答案 1 :(得分:0)
问题是,response["id"]]["quantity"]
返回的值是string
。当您尝试使用+
向字符串添加数字时,它会连接它,类似于5 + 7
57
。要解决此问题,您必须使用Int
或Float
将号码解析为parseInt()
或parseFloat()
。例如:
let num = parseInt(container[response["id"]]["quantity"]);
num += quantity;
container[response["id"]]["quantity"] = num;