我正在创建一个商店。它的工作方式是当我点击“添加到购物车”时,我运行一个获取按钮ID的函数。从该ID,您可以计算产品的名称,获取成本,数量等。为简单起见,这是功能代码:
function getID(a){
var id = a.substring(0, a.length - 4);
var id_quant = document.getElementById(id + '_val').value;
var id_name = document.getElementById(id + '_nme').innerHTML;
console.log(id + " " + id_quant + " " + id_name);
}
您可能会注意到我从this.id
删除了最后4位数字,这是因为当我运行PHP以回显所有结果时,我将button_id
等同于uid
来自数据库,与_btn
连接。
我想要做的是将推入数组,或者使用JSON。
我想象的是一个巢阵列,如:array[uid][cost]
,array[uid][name]
。我只是不确定如何做到这一点。
应该注意的是,在函数中,a
实际上是this.id
:
<button id='1_btn' onclick='getID(this.id)'></button>
我在函数var array = []
上面声明了一个数组。
任何关于如何推巢的帮助都会很棒。
答案 0 :(得分:4)
我想要做的是将其推入数组或使用 JSON。
您需要使用对象
var obj = {};
并将此obj
中的值设置为
function getID(a){
var id = a.substring(0, a.length - 4);
var id_quant = document.getElementById(id + '_val').value;
var id_name = document.getElementById(id + '_nme').innerHTML;
obj[ id ] = { quantity : id_quant, name : id_name }; //observe this line
console.log(id + " " + id_quant + " " + id_name);
}
答案 1 :(得分:1)
而不是array
您应该有object
。
var bucket = {};
bucket[someuid] = {
"cost": 500,
"name": "Some Item"
}
现在您可以通过
来访问它console.log(bucket[someuid]);
迭代然后很简单
for (item in bucket){ console.log(item['name'], item['cost']) }