文章目录
codewars-js练习
2021/2/26
github 地址
【1】<8kyu>【Function 1 - hello world】
输出 ‘hello world!’
solution
<script type="text/javascript">
function greet(){
return 'hello world!'
}
// 验证
console.log(greet());
</script>
【2】<8kyu>【MakeUpperCase】
Write a function which converts the input string to uppercase.
solution
<script type="text/javascript">
function makeUpperCase(str) {
return str.toUpperCase()
}
// 验证
console.log(makeUpperCase("hello"));// "HELLO"
</script>
【3】<6kyu>【Easy Balance Checking】
example:
"1000.00
125 Market 125.45
126 Hardware 34.95
127 Video 7.45
128 Book 14.32
129 Gasoline 16.10"
输出:
"Original_Balance:_1000.00
125_Market_125.45_Balance_874.55
126_Hardware_34.95_Balance_839.60
127_Video_7.45_Balance_832.15
128_Book_14.32_Balance_817.83
129_Gasoline_16.10_Balance_801.73
Total_expense__198.27
Average_expense__39.65"
solution
<script type="text/javascript">
function balance(book) {
let totalExpense = 0
, [ originalBalance, ...entries ] = book
.trim()
.replace(/[^a-z0-9\s.]+/gi, '')
.replace(/\s{2,}/g, m => m[0])
.split(/\n/);
originalBalance = parseFloat(originalBalance);
entries = entries.map(row =>
row.replace(/\S+$/g, m => {
totalExpense += parseFloat(m);
return parseFloat(m).toFixed(2) + ' Balance ' + (originalBalance - totalExpense).toFixed(2);
})
);
entries.unshift('Original Balance: ' + originalBalance.toFixed(2));
entries.push('Total expense ' + totalExpense.toFixed(2));
entries.push('Average expense ' + (totalExpense / (entries.length - 2)).toFixed(2));
return entries.join("\r\n");
}
</script>
以上为自己思路供大家参考,可能有更优的思路。 最后一题真是想好了好久