Bin计数器-递增javascript数组
我需要做一个垃圾箱柜台。这将是具体到我的数据,但作为一个例子,我将使用杂货店。我看到了很多增加项目的方法,但这更像是计算SQL列中不同项目的数量,我也不擅长 比如说,杂货店想通过收银机统计他们每天卖出的商品数量。在一天结束时,苹果和牛奶的数量可能会很高,但阵列必须能够从库存中添加元素,即使它们不经常出售 函数onDataBounde{ var grid=$'grid'。数据'kendoGrid'; const binCounter={}; $.eachgrid.items,函数索引,项{ var row=dataSource.getByUid$item.data'uid'; var itemName=row.itemName;//苹果、牛奶、避孕套、锤子等。 var soldAs=row.soldAs;//每个,6包,纸箱,打,箱等。 var itemColor=row.itemColor; //这里需要帮助 binCounter[itemName]++; binCounter[soldAs]++; binCounter[itemColor]++; }; $.eachbinCounter,函数索引,项{ console.log'binCounter['+index+']:'; console.logitem; } };Bin计数器-递增javascript数组,javascript,Javascript,我需要做一个垃圾箱柜台。这将是具体到我的数据,但作为一个例子,我将使用杂货店。我看到了很多增加项目的方法,但这更像是计算SQL列中不同项目的数量,我也不擅长 比如说,杂货店想通过收银机统计他们每天卖出的商品数量。在一天结束时,苹果和牛奶的数量可能会很高,但阵列必须能够从库存中添加元素,即使它们不经常出售 函数onDataBounde{ var grid=$'grid'。数据'kendoGrid'; const binCounter={}; $.eachgrid.items,函数索引,项{ var
结果将存储binCounter['apple']和binCounter['milk']的数量。您不能增加尚未初始化的仓位。你必须先检查箱子是否存在 所以不是
binCounter[itemName]++;
你需要
if (binCounter[itemName]) {
binCounter[itemName]++;
} else {
binCounter[itemName] = 1;
}
由于需要重复执行此操作,因此可以为其编写函数:
function increment_bin(binCounter, key) {
if (binCounter[itemName]) {
binCounter[itemName]++;
} else {
binCounter[itemName] = 1;
}
}
那你就可以了
increment_bin(binCounter, itemName);
increment_bin(binCounter, soldAs);
increment_bin(binCounter, itemColor);
这种感觉就像您应该拥有具有名称、soldAs和颜色属性的对象,并将其推送到对象数组中……{name:apple,index:0,[{soldAs:each,count:0}],color:red}