文章目录
codewars-js练习
2021/4/11
github 地址
【1】<8kyu>【Thinkful - Logic Drills: Traffic light】
您需要一个函数来处理从绿色、到黄色、再到红色,然后再到绿色的每次变化。
example:
update_light('green') should return 'yellow'
solution
<script type="text/javascript">
function updateLight(current) {
// console.log(current)
if(current == 'green') return 'yellow';
else if(current == 'yellow') return 'red';
else return 'green';
}
// 验证
console.log(updateLight("green"));// "yellow"
console.log(updateLight("yellow"));// "red"
console.log(updateLight("red"));//"green"
</script>
【2】<8kyu>【Powers of 2】
example:
n = 0 ==> [1] //[2^0]
n = 1 ==> [1, 2] // [2^0, 2^1]
n = 2 ==> [1, 2, 4] // [2^0, 2^1, 2^2]
solution
<script type="text/javascript">
function powersOfTwo(n){
// console.log(n)
var result = [];
for(var i=0;i<=n;i++){
result.push(Math.pow(2,i));
}
return result
}
// 验证
console.log(powersOfTwo(0));// [1]
console.log(powersOfTwo(1));// [1, 2]
console.log(powersOfTwo(4));// [1, 2, 4, 8, 16]
</script>
【3】<6kyu>【All Star Code Challenge #15】
该函数接受一个字符串参数,并返回一个字符串数组,将输入字符串中的每个字母旋转到末尾。
example:
rotate("Hello") // => ["elloH", "lloHe", "loHel", "oHell", "Hello"]
solution
<script type="text/javascript">
function rotate(str){
// console.log(str)
var arr = str.split('')
var result = [];
for(var i=0;i<arr.length;i++){
temp = arr.shift();
arr.push(temp)
result.push(arr.join(''))
}
return result
}
// 验证
console.log(rotate("Hello"));//["elloH", "lloHe", "loHel", "oHell", "Hello"]
</script>
本文介绍了三个Codewars JavaScript挑战题目及其解决方案,包括交通灯状态转换、生成2的幂次方数组以及字符串字母轮转。
1355

被折叠的 条评论
为什么被折叠?



