日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

【FCC】Inventory Update

發(fā)布時(shí)間:2023/11/21 综合教程 52 生活家
生活随笔 收集整理的這篇文章主要介紹了 【FCC】Inventory Update 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目:

依照一個(gè)存著新進(jìn)貨物的二維數(shù)組,更新存著現(xiàn)有庫(kù)存(在 arr1 中)的二維數(shù)組. 如果貨物已存在則更新數(shù)量 . 如果沒有對(duì)應(yīng)貨物則把其加入到數(shù)組中,更新最新的數(shù)量. 返回當(dāng)前的庫(kù)存數(shù)組,且按貨物名稱的字母順序排列.

示例:

updateInventory([[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [[2, "Hair Pin"], [3, "Half-Eaten Apple"], [67, "Bowling Ball"], [7, "Toothpaste"]]).length 應(yīng)該返回一個(gè)長(zhǎng)度為6的數(shù)組.
updateInventory([[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], [[2, "Hair Pin"], [3, "Half-Eaten Apple"], [67, "Bowling Ball"], [7, "Toothpaste"]]) 應(yīng)該返回 [[88, "Bowling Ball"], [2, "Dirty Sock"], [3, "Hair Pin"], [3, "Half-Eaten Apple"], [5, "Microphone"], [7, "Toothpaste"]].
updateInventory([[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]], []) 應(yīng)該返回 [[21, "Bowling Ball"], [2, "Dirty Sock"], [1, "Hair Pin"], [5, "Microphone"]].
updateInventory([], [[2, "Hair Pin"], [3, "Half-Eaten Apple"], [67, "Bowling Ball"], [7, "Toothpaste"]]) 應(yīng)該返回 [[67, "Bowling Ball"], [2, "Hair Pin"], [3, "Half-Eaten Apple"], [7, "Toothpaste"]].
updateInventory([[0, "Bowling Ball"], [0, "Dirty Sock"], [0, "Hair Pin"], [0, "Microphone"]], [[1, "Hair Pin"], [1, "Half-Eaten Apple"], [1, "Bowling Ball"], [1, "Toothpaste"]]) 應(yīng)該返回 [[1, "Bowling Ball"], [0, "Dirty Sock"], [1, "Hair Pin"], [1, "Half-Eaten Apple"], [0, "Microphone"], [1, "Toothpaste"]].

分析思路:

遍歷進(jìn)貨數(shù)組,取每一個(gè)元素,然后遍歷庫(kù)存數(shù)組,若進(jìn)貨的名稱已存在,直接修改數(shù)目,若進(jìn)貨的名稱不存在,這 push 到庫(kù)存中;
從測(cè)試用例中可知:最終的庫(kù)存列表需要根據(jù)名稱進(jìn)行排序,從字符的低到高進(jìn)行排序;

代碼:

<script type="text/javascript">
	function updateInventory(arr1, arr2) {
		// All inventory must be accounted for or you're fired!
		for (var i = 0; i < arr2.length; i++) {
			for (var j = 0; j < arr1.length; j++) {
				if (arr1[j][1] === arr2[i][1]) {
					arr1[j][0] += arr2[i][0];
					break;
				}
			}

			if (j == arr1.length) {
				arr1.push(arr2[i]);
			}
		}

		return arr1.sort(function(a, b) {
			return a[1].charCodeAt(0) - b[1].charCodeAt(0);
		});

	}
</script>

總結(jié)

以上是生活随笔為你收集整理的【FCC】Inventory Update的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。