更新仓库库存
博客专区 > 万城 的博客 > 博客详情
更新仓库库存
万城 发表于5个月前
更新仓库库存
  • 发表于 5个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: Inventory Update

function updateInventory(arr1, arr2) {
    // 请保证你的代码考虑到所有情况
  //思路:把第一个数组里的所有第二项的值用来匹配第二个数组里的第二项的值,如果出现过就增加该数组里的第一项,没出现过就push过去
    var ar2 = [];    //用一个数组来存放枚举出来的arr1的素有第二项的值
            for (var i in arr1){
                ar2.push(arr1[i][1]);    //把arr1所有的第二项的值都存到ar2里用来匹配
            }
            for (var o in arr2){    //把arr2也枚举出来
                if (ar2.indexOf(arr2[o][1]) !== -1){    //如果arr2里某个数组第二项的值在数组1里出现过,则把arr1和arr2里该数组的第一项相加
                    arr1[ar2.indexOf(arr2[o][1])][0] += arr2[o][0];    //用indexOf获取到该项出现的位置,然后用数组定位到该项
                }else 
                  {
                    arr1.push(arr2[o]);  //没出现过就push到数组1里
                  }
            }
            arr1 = arr1.sort(function (a, b) {    //用sort来排序,不用arr1 = 也行,因为sort会改变原数组,参数0是字母的位置
                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([[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [[2, "Hair Pin"], [3, "Half-Eaten Apple"], [67, "Bowling Ball"], [7, "Toothpaste"]]);
 

共有 人打赏支持
粉丝 0
博文 45
码字总数 62136
×
万城
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: