JS中的關(guān)于實現(xiàn)進(jìn)貨系統(tǒng)的實例
標(biāo)簽:
JavaScript
依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新的数量. 返回当前的库存数组,且按货物名称的字母顺序排列.
code
function updateInventory(arr1, arr2) {
var oCur={};
var oNew={};
function arrToObj(arr,obj){
for(var i=0;i<arr.length;i++){
obj[arr[i][1]]=arr[i][0];
}
}//构造库存对象。
arrToObj(arr1,oCur);
arrToObj(arr2,oNew);
//添加货物及属性
for(var i in oNew){
console.log(oCur.hasOwnProperty(i));
if(oCur.hasOwnProperty(i)){
oCur[i]+=oNew[i];
}else{
oCur[i]=oNew[i];
}
}
//属性名排序
function objKeySort(obj) {//排序的函数
var newkey = Object.keys(obj).sort();
//newkey是一个排序后的属性名数组
var newObj = {};
for (var i = 0; i < newkey.length; i++) {
newObj[newkey[i]] = obj[newkey[i]];
}
return newObj;//返回排好序的新对象
}
oCur=objKeySort(oCur);
//反向编译这个对象,然后返回成最初的数组。
var newArr=[];
for(i in oCur){
newArr.push([oCur[i],i]);
}
console.log(newArr);
return newArr;
}
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦