jQuery对象 - 值=值+数字 - 不起作用?

时间:2017-09-28 07:24:30

标签: javascript jquery object numbers add

我尝试更新对象中的值并将其设置为当前值+另一个数字。例如,如果对象的值为5,我希望它更新如下:对象键:当前值(5) + 7

container[response["id"]]["quantity"] += quantity;          
console.log(container[response["id"]].attr("quantity"));

这就是我目前正在尝试的内容。我最终使用57代替12

有什么想法吗?

2 个答案:

答案 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。要解决此问题,您必须使用IntFloat将号码解析为parseInt()parseFloat()。例如:

let num = parseInt(container[response["id"]]["quantity"]);
num += quantity;
container[response["id"]]["quantity"] = num;