如何在两个var之后添加 1是正确的



只是想知道有两个var的var Store是否会添加 1?

使用交换机或其他更好的方法

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++

现在更容易的方法,请帮助

您可以通过在地图中存储值来简化代码。

想法

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]

因为您的买家和卖方都是数字枚举,因此您可以将其价值的组合用作商店的钥匙。如果您要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
*/

我不明白开关是如何需要的,如果买卖双方是数字索引。

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]++;
}

最新更新