Inventory Update


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

Global Array Object

 1 function updateInventory(arr1, arr2) {
2 var a = 0;
3 for (var i = 0; i < arr2.length; i++) {
4 //先遍历数组arr2
5 for (var j = 0; j < arr1.length; j++) {
6 // 遍历数组arr1
7 if (arr1[j][1] === arr2[i][1]) {
8 //拿出一个arr[i][1],然后在arr1[j][1]里找,如果有相等的,就让他们的arr[j][0]想加并赋值给arr1[j][0];
9 arr1[j][0] += arr2[i][0];
10 } else {
11 //如果arr2[i][1]与arr[j][1]中一个之不相等,就给a加一
12 a += 1;
13 }
14
15 }
16 if (a === arr1.length) {
17 //如果a的值与arr1的数组长度相等,就说明arr1[j][1]中没有与 arr2[i][1]相等的,那么就吧arr2[i]push进arr1;
18 arr1.push(arr2[i]);
19
20 }
21 a = 0;
22 }
23 arr1.sort(function (a, b) {
24 //把arr1按第二项字符串的首字母顺序排序
25 return a[1] > b[1];
26 });
27 return arr1;
28 }
29
30 // 仓库库存示例
31 var curInv = [
32 [21, "Bowling Ball"],
33 [2, "Dirty Sock"],
34 [1, "Hair Pin"],
35 [5, "Microphone"]
36 ];
37
38 var newInv = [
39 [2, "Hair Pin"],
40 [3, "Half-Eaten Apple"],
41 [67, "Bowling Ball"],
42 [7, "Toothpaste"]
43 ];
44
45 //updateInventory([[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [[2, "Hair Pin"], [3, "Half-Eaten Apple"], [8, "Toothpaste"], [67, "Bowling Ball"]]);
46 updateInventory(curInv, newInv);

FCC 高级算法题 库存更新的更多相关文章

  1. fcc的高级算法题

    核心提示:本部分一个9道题,给定时间50小时.属于fcc前端学习的"高级编程脚本"题,对于初学者来说,确实算是"高级"了.如果只想着闭门造车,50小时确实也不过 ...

  2. FCC上的初级算法题

    核心提示:FCC的算法题一共16道.跟之前简单到令人发指的基础题目相比,难度是上了一个台阶.主要涉及初步的字符串,数组等运算.仍然属于基础的基础,官方网站给出的建议完成时间为50小时,超出了之前所有非 ...

  3. FCC上的javascript算法题之中级篇

    FCC中的javascript中级算法题解答 中级算法的题目中用到了很多js的知识点,比如迭代,闭包,以及对json数据的使用等等,现在将自己中级算法的解答思路整理出来供大家参考讨论.欢迎大家提出新的 ...

  4. FCC的javascript初级算法题解答

    FCC上的javascript基础算法题 前一阵子做的基础算法题,感觉做完后收获还蛮大的,现在将自己的做法总结出来,供大家参考讨论.基本上做到尽量简短有效,但有些算法还可以继续简化,比如第七题若采用正 ...

  5. FreeCodeCamp 高级算法(个人向)

    freecodecamp 高级算法地址戳这里. freecodecamp的初级和中级算法,基本给个思路就能完成,而高级算法稍微麻烦了一点,所以我会把自己的解答思路写清楚,如果有错误或者更好的解法,欢迎 ...

  6. 高盛昂赛 算法题先写corner case

    [方法] 字写大点,先注释框架 链表:指针走就行了,最多是两个同时一起走. 两个链表求交点 //corner case if (headA == null || headB == null) { re ...

  7. FCC高级编程篇之Validate US Telephone Numbers

    Validate US Telephone Numbers Return true if the passed string is a valid US phone number. The user ...

  8. W3C高级算法挑战之python实现

    最近在学python,网上很难找到对应的算法题网站,专业算法网站大部分都是国外的,之前在w3cschool看到有三个级别的Javascript脚本算法挑战,尝试用python实现,代码量相对比较少,如 ...

  9. leetcode算法题(JavaScript实现)

    题外话 刷了一段时间的codewars的JavaScript题目之后,它给我最大的感受就是,会帮助你迅速的提升你希望练习的语言的API的熟悉程度,Array对象.String对象等原生方法,构造函数. ...

  10. 面试经典算法题集锦——《剑指 offer》小结

    从今年 3 月份开始准备找实习,到现在校招结束,申请的工作均为机器学习/数据挖掘算法相关职位,也拿到了几个 sp offer.经历这半年的洗礼,自己的综合能力和素质都得到了一个质的提升. 实话说对于未 ...

随机推荐

  1. NVIDIA的GPU算力Compute Capalibity

    可查看官方查询地址:https://developer.nvidia.com/cuda-gpus

  2. MARKDEEP.js-一个轻松在HTML中输入MD代码的JavaScript库

    MARKDEEP.js-一个轻松在HTML中输入MD代码的JavaScript库 http://casual-effects.com/markdeep/ 引入: <style class=&qu ...

  3. GrADS CTL文件 VARS字段

    GrADS可以读取GRIB格式的再分析数据,如ERA5,CFSR,CRA40等.对于这些数据,借助grib2ctl/g2ctl程序,生成描述文件(*.ctl文件),再通过gribmap命令,生成索引文 ...

  4. mysql掉电后重启失败问题

    报错 2022-12-07T01:41:02.844533Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOIN ...

  5. flutter卡在Running Gradle task 'assembleDebug'...

    https://www.cnblogs.com/lovewhatIlove/p/16323828.html

  6. 增、改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN

    转载留存 IT_METHODS    LIKE    BAPI_ALM_ORDER_METHOD处理方法,必选项,存储CREATE CREATETONOTIF CHANGE DELETE RELEAS ...

  7. 安装.msi格式安装包

    msi格式的文件,点右键后,没有"以管理员身份运行"的菜单项,直接运行.msi文件报错:"There is a problem with this Windows Ins ...

  8. div css 页面中心弹窗窗口

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  9. openstack 私有云

    Openstack 私有云 官网:www.openstack.com 关于它的历史,网上都可以搜索到,这里不做细讲. 本章主要对openstack的基础部署做详细了解 说到openstack,就要知道 ...

  10. httpcanary高级版--不闪退!!!!

    地址 https://wwm.lanzouw.com/iOf7Hz11s4j 密码:45of