美文网首页
Inventory Update

Inventory Update

作者: Oracle_c113 | 来源:发表于2017-10-16 22:54 被阅读0次

要求

依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新的数量. 返回当前的库存数组,且按货物名称的字母顺序排列.

解答

function updateInventory(arr1, arr2) {
    // 请保证你的代码考虑到所有情况
  var array=[];
  for(i=0;i<arr1.length;i++)
    array.push(arr1[i][1]);
  
  var array2=[];
  for(i=0;i<arr2.length;i++){
    var index=array.indexOf(arr2[i][1]);
    if(index<0)
      arr1.push(arr2[i]);
    else
      arr1[index][0]+=arr2[i][0];
  }
    return arr1.sort(function(a,b){
      return a[1].charCodeAt(0)-b[1].charCodeAt(0);
    });
}

// 仓库库存示例
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);

相关文章

网友评论

      本文标题:Inventory Update

      本文链接:https://www.haomeiwen.com/subject/wfxruxtx.html