codewars练习(javascript)-2021/3/31

这篇博客记录了两道JavaScript Codewars练习,分别为8kyu的'Counting Sheep'和5kyu的'Pete, the Baker'。'Counting Sheep'题目要求计算真值数组中`true`的数量,而'Pete, the Baker'则要求根据食材配方和库存计算最大可制作蛋糕数。解决方案中展示了如何通过遍历和匹配方法解决计羊问题,以及通过配料比例计算蛋糕数量的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

codewars-js练习

2021/3/31

github 地址

my github地址,上面有做的习题记录,不断更新…

【1】<8kyu>【Counting sheep】

example

[true,  true,  true,  false,
  true,  true,  true,  true ,
  true,  false, true,  false,
  true,  false, false, true ,
  true,  true,  true,  true ,
  false, false, true,  true]//17

solution

<script type="text/javascript">
	function countSheeps(arrayOfSheep) {
		console.log(arrayOfSheep)
		var str = arrayOfSheep.join('');
		var arr = str.match(/true/gi);
		console.log(arr==null)
		return arr!=null?arr.length:0;
	}

    // 验证
    array1 = [true,  true,  true,  false,
              true,  true,  true,  true ,
              true,  false, true,  false,
              true,  false, false, true ,
              true,  true,  true,  true ,
              false, false, true,  true ];
   	array2 = [null,null,null,null,null,null,null]

  
    console.log(countSheeps(array1));//17
    console.log(countSheeps(array2));//0
</script>
【2】<5kyu>【Pete, the baker】

编写一个函数cakes(),该函数接受配方(对象)和可用的配料(也是一个对象),并返回Pete可以烘烤的蛋糕的最大数量(整数)

example

// must return 2
cakes({flour: 500, sugar: 200, eggs: 1}, {flour: 1200, sugar: 1200, eggs: 5, milk: 200}); 
// must return 0
cakes({apples: 3, flour: 300, sugar: 150, milk: 100, oil: 100}, {sugar: 500, flour: 2000, milk: 2000}); 

solution

<script type="text/javascript">
	function cakes(recipe, available) {
		// console.log(recipe,available)
		var arr = [];
		for(var i in recipe){
			// console.log(i)
			// console.log(i in available)
			if(i in available){
				arr.push(Math.floor(available[i]/recipe[i]))
			}
			else return 0
		}
		return Math.min(...arr)
	}

    // 验证
    recipe = {flour: 500, sugar: 200, eggs: 1};
    available = {flour: 1200, sugar: 1200, eggs: 5, milk: 200};
    console.log(cakes(recipe, available));//2

    recipe = {apples: 3, flour: 300, sugar: 150, milk: 100, oil: 100};
    available = {sugar: 500, flour: 2000, milk: 2000};
    console.log(cakes(recipe, available));// 0
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值