只是想知道有没有向var存储添加+1,两个var是真的吗?
使用switch或if / else这是更好的方法
Var store = 0
Var store1 = 0
Var store2 = 0
var buyer = "";
var seller = "";
switch(buyer){
case 1: buyer = buyer1;break;
case 2: buyer = buyer2;break;
}
switch(seller){
case 1:seller = seller1;break;
case 2:seller = seller2;break;
}
if(buyer == buyer1 && seller == seller1){
store1++
}
if(buyer == buyer2 && seller == seller2){
store2++
}
if(buyer == buyer1 && seller == seller2){
store0++
}
继续以这种方式保持我的代码工作或以其他方式更好地改进我的代码?
与switch(buyer)"case1" switch(seller)"case2"
相似,然后是store0++
switch(buyer)"case2" switch(seller)"case2"
,然后是store2++
现在更简单的方法,请帮助
答案 0 :(得分:1)
您可以通过将值存储在地图中来简化代码。
store0 = store0 + m[buyer][seller][0]
store1 = store1 + m[buyer][seller][1]
store2 = store2 + m[buyer][seller][2]
m = {
<value_buyer1>: {
<value_seller1>: [0, 1, 0],
...
},
...
}
var store = 0
var store1 = 0
var store2 = 0
var buyer = "";
var seller = "";
switch(buyer){
case 1: buyer = buyer1;break;
case 2: buyer = buyer2;break;
}
switch(seller){
case 1:seller = seller1;break;
case 2:seller = seller2;break;
}
m = {};
m[buyer1] = {};
m[buyer1][seller1] = [0, 1, 0];
m[buyer1][seller2] = [1, 0, 0];
m[buyer2] = {};
m[buyer2][seller1] = [0, 0, 0];
m[buyer2][seller2] = [0, 0, 1];
store0 = store0 + m[buyer][seller][0]
store1 = store1 + m[buyer][seller][1]
store2 = store2 + m[buyer][seller][2]
答案 1 :(得分:0)
由于您的买家和卖家都是数字枚举,因此您可以将其值的组合用作商店的键。如果您希望buyer1 & seller2
转到与buyer2 & seller1
不同的商店,但是它们会转到同一商店,请考虑以下情况,这不起作用:
var store_count = {};
if (typeof store_count[buyer+seller] === "undefined")
store_count[buyer+seller] = 0;
store_count[buyer+seller]++;
如何实现,调用以及一些内部文档的另一个示例:
var store_count = {};
function updateStoreCount(buyer,seller){
// initialize
if (typeof store_count[buyer+seller] === 'undefined')
store_count[buyer+seller]=0;
store_count[buyer+seller]++;
return store_count;
}
// Example Call:
updateStoreCount(1,2);
/*
store[2] == buyer1 and seller1
store[3] == buyer1 and seller2 -and- buyer2 and seller1
store[4] == buyer2 and seller2
*/
答案 2 :(得分:0)
我不明白如果买家和卖家都是数字索引,那么转换是如何必要的。
var stores = [0,0,0];
function update(buyer, seller){
if(buyer==1 && seller==2) stores[0]++;
if(buyer==1 && seller==1) stores[1]++;
if(buyer==2 && seller==2) stores[2]++;
}