javascriptのPOSレジバージョン:v 0.1

3482 ワード


 
教学目標
基本的な説明をプログラムに変換します.
ループネストの使用を熟知しています.
需要の説明
お店で買い物の決済をする時はレジ(POS)システムを使います.このレジはお客様のショッピングカートの中の商品(Item)によって決済と印刷を行います.
 
私たちは、指定されたフォーマットのデータをパラメータとして入力し、ブラウザのコンソールから決済リストのテキストを出力することができるprint Inventtory関数という名前の関数を実装する必要があります.
 
    (  ):

[ {barcode: 'ITEM000000',name: '    ',unit: ' ',price: 3.00},
  {barcode: 'ITEM000000',name: '    ',unit: ' ',price: 3.00},
  {barcode: 'ITEM000000',name: '    ',unit: ' ',price: 3.00},
 { name: '    ',unit: ' ',price: 3.00,unit: ' ',price: 3.00},
  {barcode: 'ITEM000000',name: '    ',unit: ' ', price: 3.00},
  {barcode: 'ITEM000001',name: '  ',unit: ' ',price: 3.00},
  {barcode: 'ITEM000001',name: '  ',unit: ' ',price: 3.00},
  {barcode: 'ITEM000004',name: '  ',unit: ' ',price: 2.00}
 
 
「コードを保存して提出する」ボタンをクリックすると、関数print Inventtoryを呼び出して上記のデータをパラメータとして入力します.
リストの内容(サンプル):
 
*<<お金がなくて店を儲けます>ショッピングリスト****
名称:コカコーラ、数量:5本、単価:3.00(元)、小計:15.00(元)
名称:スプライト、数量:2本、単価:3.00(元)、小計:6.00(元)
名称:電池、数量:1個、単価:2.00(元)、小計:2.00(元)
------------
合計:23000元(元)
************************************ 
作業要求
Main.jsファイルでコードを作成し、テストの合格を確保する.
コードの可読性を保証する前提で、最小のコードライン数で作業を完了してください.
リストをコンソールに出力して、テストを通過させます.すべての句読点は英語の記号です.
ジョブのヒント
学習は重複した内容を統合してリストに変えます.
consolie.log出力を使用する(一回のみ使用可能)
 mail.js


function printInventory(inputs) {
var item;
var item_list=[];    
var list='***<     >    ***';
var sum=0;
for(var i=0;i<inputs.length;i++){
 item=inputs[i];/
    if(item_list.length===0){
        item.count=1;
        item_list.push(item);
    }
    else{for(var j=0;j<item_list.length;j++){
        if(inputs[i].barcode==item_list[j].barcode){
           item_list[j].count++;
        }
        else if(j==item_list.length-1){
           POS        :  1 for      ;
                                          2         ;
                                          3     ;
            item_list.push(item); item.count=0;
    }
   }
  }  
 }

    for(var n=0;n< item_list.length;n++){
    
    list=list+'
'+' :'+item_list[n].name+','+' :'+item_list[n].count+item_list[n].unit+','+' :'+item_list[n].price+'.00( )'+','+' :'+item_list[n].count*item_list[n].price+'.00( )'; sum+=item_list[n].count*item_list[n].price; } list=list+'
'+'----------------------'+'
'+' :'+sum+'.00( )'+'
'+'**********************'; console.log(list); }
 
この問題はPOSレジのバージョンと似ています.入力フォーマットには違いがあります.入力フォーマットを変えたら問題を解決しやすいです.
入力書式を同じにして、新しい配列を作成します.
POSレジv 0.1この問題は運用されました. 1 forループは配列を巡回します.
                                                 2オブジェクトのキーに対応する値.
                                                 3スプライス文字列;
                                                 4 if else文
                                                5配列の追加用push;