題目:深圳--60--廣州--50-虎門--40- -中山--36-珠海一34-澳門一89一香港以上車票費用計算,如坐車深圳到廣州60元,廣州到虎門50元,深圳到虎門就是60+50-110元其它以此類推。
請用一個函數,傳入一個起始點,和一個終點,就能計算出車費如傳入起始點虎門,終點澳門就會計算出110元
思考html
如下就是我用js代碼,寫的車票計費問題。數組
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> //數組裏存對象 var array = [ {city:'深圳', price:0}, {city:'廣州', price:60}, {city:'虎門', price:50}, {city:'中山', price:40}, {city:'珠海', price:36}, {city:'澳門', price:34}, {city:'香港', price:89} ]; var price = cheFei( array , { start : '香港' , end : '虎門'} ) console.log('香港->虎門') console.log(price) function cheFei(array , addr ){ var start_index = end_index = -1; for(var i=0; i<array.length ; i++){ if(addr.start === array[i].city) start_index = i; if(addr.end === array[i].city) end_index = i; } //若是沒找到 地址 ,返回錯誤提示 if (-1===start_index ||-1===end_index ) return console.error('404 抱歉,未找到您輸入的地址'); var price = 0; // start_index < end_index 表示:深圳->香港 方向 if( start_index < end_index ){ for( var i=start_index+1; i<=end_index; i++ ){ price += array[i].price; } } else { for(var i=start_index; i>end_index; i--){ price += array[i].price; } } return price; } </script> </body> </html>