Flow Control
Exercise-01 Max Of Two Numbers
Write a function that takes two numbers and returns the maximum of the two
let number = max(2, 10);
console.log(number);
function max(number1, number2) {
/*if (number1 > number2)
return number1;
else
return number2;
*/
return (number1 > number2) ? number1 : number2;
}
Exercise-02 Landscape or Portrait
console.log(isLandscape(800, 600));
function isLandscape(width, height){
return (width > height);
}
Exercise-03 FizzBuzz
Divisible by 3 Fizz
Divisible by 5 Buzz
Divisible by both 3 and 5 FizzBuzz
Not Divisible 3 or 5 input
typeof NaN
Output "number"
const output = fizzBuzz(7);
console.log(output);
function fizzBuzz(input) {
if (typeof input !== 'number')
return NaN;
if ((input % 3 === 0) && (input % 5 === 0))
return 'FizzBuzz';
if (input % 3 === 0)
return 'Fizz';
if (input % 5 === 0)
return 'Buzz';
return input;
}
Exercise-04 Demerit Points
Speed Limit = 70
checkSpeed(50);
function checkSpeed(speed) {
const speedLimit = 70;
const kmPerPoint = 5;
if (speed < speedLimit + kmPerPoint) {
console.log('OK');
return ;
}
const points = Math.floor((speed - speedLimit) / kmPerPoint);
if (points >= 12)
console.log('License suspended');
else
console.log('Points ', points);
}
Exercise-05 Even and Odd numbers
showNumbers(10);
function showNumbers(limit) {
for (let i = 0; i <= limit; i++) {
/*if (i % 2 === 0)
console.log(i, 'EVEN');
else
console.log(i, 'ODD');*/
const message = (i % 2 === 0) ? 'EVEN' : 'ODD';
console.log(message);
}
}
Exercise-06 Count Truthy
const array = [0, null, undefined, '', Nan, false, 2, 9];
console.log(countTruth(array));
function countTruthy(array) {
let count = 0;
for (let value of array) {
if (value)
count++;
}
return count;
}
Exercise-07 String Properties
const movie = {
title: 'Mustang',
releaseYear: 2020,
rating: 4.5,
director: 'Unity'
};
showProperties(movie);
function showProperties(obj) {
/*for (let key in obj)
console.log(key);*/
for (let key in obj) {
if (typeof obj[key] === 'string')
console.log(key, obj[key]);
}
}
Exercise-08 Sum of Multiples of 3 and 5
Multiples of 3: 3, 6, 9
Multiples of 5: 5, 10
sum = 3+6+9+5+10 = 33
console.log(sum(10));
function sum(limit) {
let sum = 0;
for (let i = 0; i <= limit; i++) {
if (i % 3 === 0 || i % 5 === 0)
sum += i;
}
return sum;
}
Exercise-09 Grade
const marks = [80, 86, 99];
console.log(calculateGrade(marks));
function calculateGrade(marks) {
const average = calculateAverage(marks);
if (average < 60)
return 'F';
else if (average < 70)
return 'D';
else if (average < 80)
return 'C';
else if (average < 90)
return 'B';
return 'A';
}
function calculateAverage(array) {
let sum = 0;
for (let value of array) {
sum += value;
}
return sum / array.length;
}
Exercise-10 Stars
ShowStars(6);
function showStars(rows) {
for (let row = 1; row <= rows; row++) {
let pattern = '';
for (let i = 0; i < row; i++) {
pattern += '*';
}
console.log(pattern);
}
}
Exercise-11 Prime Numbers
Prime (whose factors are only 1 and itself)
Composite
/*
showPrimes(20);
function showPrimes(limit) {
for (let number = 2; number <= limit; number++) {
let isPrime = true;
for (let factor = 2; factor < number; factor++) {
if (number % factor === 0) {
isPrime = false;
break;
}
}
if (isPrime)
console.log(number);
}
}
*/
showPrimes(20);
function showPrimes(limit) {
for (let number = 2; number <= limit; number++) {
if (isPrime(number))
console.log(number);
}
}
function isPrime(number) {
for (let factor = 2; factor < number; factor++) {
if (number % factor === 0)
return false;
}
return true;
}
Flow Control的更多相关文章
- Node.js学习笔记 02 Implementing flow control
What is flow control? 和其它语言一样,Node.js 在代码编写时,如何组织代码,如何写出clean code都是不可避免的难点. 同时,由于Node.js的天然特性(异步,事件 ...
- RocketMq发送消息出现com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 201ms, size of queue: 1
最近对系统进行压测,发现发送消息到消息队列的时候出现如下错误: com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2 DE ...
- Go Flow Control
[Go Flow Control] 1.for没有(),必须有{}. 2.for的前后表达式可以为空. 3.没有while,for即是while. 4.无穷循环. 5.if没有(),必须有{}. 6. ...
- Producer Flow Control 和 vmQueueCursor
ActiveMQ可以开启或关闭生产者流量控制Producer Flow Control ,基本原理是producer 发送一条消息会收到broker返回的ack响应,当磁盘或内存快满的时候broker ...
- Educational Codeforces Round 45 (Rated for Div. 2) F - Flow Control
F - Flow Control 给你一个有向图,要求你给每条边设置流量,使得所有点的流量符合题目给出的要求. 思路:只有在所有点的流量和为0时有解,因为增加一条边的值不会改变所有点的总流量和, 所以 ...
- TCP Flow Control and Data Transfer
TCP Flow Control TCP Data Transfer Selective Repeat ARQ with Positive ACK Window slides a byte basis ...
- 第三章: Expressions and Flow Control
第三章: Expressions and Flow Control一:局部变量和实例变量定义变量是指设定变量的数据类型和变量的名字,Java语言要求变量遵循先定义,再初始化,然后使用的规则.作用域:指 ...
- Backup: Flow Control in Perl6
Control Flow 注意空格,注意空格,注意空格 和 Perl5不同的是,这些结构都可以返回值,而且即使倒置结构也可以用 block 了 block 可以有逗号 with without orw ...
- RabbitMQ学习之Flow Control
当RabbitMQ发布消息速度快于消费速度或者系统资源不足时,RabbitMQ将降低或阻断发布消息速度,以免服务器资源饱满而宕机,可以通过rabbitmqctl和web管理页面查看连接的状态为flow ...
- SecureCRT VBscript关闭Flow Control CTS
crt.Session.Connect "/Serial COM2 /BAUD 38400 /NOCTS" 更多命令行参数可查看SecureCRT-Help-Help Topics ...
随机推荐
- Qt之QListWidget:项目的多选与单选设置
2019独角兽企业重金招聘Python工程师标准>>> #include "widget.h" #include <QApplication> #in ...
- 苹果系统通过brew安装sshpass
默认使用brew install sshpass会出现Warning: MD5 support is deprecated and will be removedin a future version ...
- 手把手教你用Node.js爬虫爬取网站数据
个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度 ...
- Java pdf转高清图片
为什么80%的码农都做不了架构师?>>> package com.hyb.kai.web.controller; import java.awt.image.BufferedIm ...
- pv(PageView)的解释
http://blog.sina.com.cn/s/blog_5007d1b10100moka.html 本文转自hblxp32151CTO博客,原文链接:http://blog.51cto.com/ ...
- 《新版阿里巴巴Java开发手册》提到的三目运算符的空指针问题到底是个怎么回事?
最近,阿里巴巴Java开发手册发布了最新版--泰山版,这个名字起的不错,一览众山小. 新版新增了30+规约,其中有一条规约引起了作者的关注,那就是手册中提到在三目运算符使用过程中,需要注意自动拆箱导致 ...
- 绕WAF文章收集
在看了bypassword的<在HTTP协议层面绕过WAF>之后,想起了之前做过的一些研究,所以写个简单的短文来补充一下文章里“分块传输”部分没提到的两个技巧. 技巧1 使用注释扰乱分块数 ...
- D. Ehab the Xorcist(纯构造方法)
\(如果觉得下面难以理解,可以去这里看一种较为简单的解法\):saf \(这个题嘛,首先要明确异或的性质:相同为0,不同为1.\) \(举个例子,我们来构造u=15和v=127的情况\) \(注意到, ...
- Q - Play With Sequence HDU - 3971 线段树 重新排序建树
Q - Play With Sequence HDU - 3971 这个题目是一个线段树,比较特别的线段树,就是c询问一定次数之后重新排序建树来优化减低复杂度. 第一次碰到这种题目有点迷. 这个题目写 ...
- 向Redis里存入数据
实现思路:1. 从Redis缓存获取URL统计网址清单2. 逐条拼凑SQL统计语句,暂时不能支持批量计算,因为按单个网址统计.3. 发送到HIVE JDBC执行SQL并等待返回结果4 ...