codewars练习(javascript)-2021/4/11

本文介绍了三个Codewars JavaScript挑战题目及其解决方案,包括交通灯状态转换、生成2的幂次方数组以及字符串字母轮转。

codewars-js练习

2021/4/11

github 地址

my 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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值