FCCInventoryUpdate解析
程序员文章站
2022-09-21 22:59:56
fcc inventory update
ps:依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更...
fcc inventory update
ps:依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新的数量. 返回当前的库存数组,且按货物名称的字母顺序排列..function updateinventory(arr1, arr2) { // 请保证你的代码考虑到所有情况 function search(val,arr){ var ind; arr.foreach(function(item,index1,array){ item.foreach(function(val1,index2,array1){ if(val1==val){ind=index1;return;} }); }); return ind;//匹配对应物品返回起序列号 } //遍历新加购物车,匹配当前仓库中的物品,有就数目相加,否则添加新物品 arr2.foreach(function(val){ console.log(val); var local=search(val[1],arr1); if(local>=0)arr1[local][0]+=val[0]; else arr1.push(val); }); //根据物品首字母的ascii码排序 arr1.sort(function(a,b){ return a[1].charcodeat(0)-b[1].charcodeat(0); }); return arr1; }; // 仓库库存示例 var curinv = [ [21, "bowling ball"], [2, "dirty sock"], [1, "hair pin"], [5, "microphone"] ]; var newinv = [ [2, "hair pin"], [3, "half-eaten apple"], [67, "bowling ball"], [7, "toothpaste"] ]; updateinventory(curinv, newinv);