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 ...
随机推荐
- 工程师泄露5G核心技术文档 被判有期徒刑三年缓刑四年
2002 年至 2017 年 1 月,黄某瑜就职于中兴通讯公司,担任过射频工程师.无线架构师等职务.2008 年 4 月至 2016 年 10 月,王某就职于中兴通讯公司西安研究所,担任过 RRU 部 ...
- 《Redis设计与实现》之第十二章:事件
Redis服务器是一个事件驱动程序,服务器需要处理两类事件: 文件事件: 文件事件就是服务器对套接字(socket)操作的抽象,服务器和客户端的通信会产生文件事件 时间事件: 时间事件就是服务器对定时 ...
- element UI排坑记(一):判断tabs组件是否切换
之所以将这个问题列在排坑记之中,是因为官方组件的一个属性颇有些隐蔽,这个问题曾经折腾了本人较多时间,始终思维固着,且使用搜索引擎也不容易搜索到答案,故记之.然而实际解决却是相当简单的. 一.问题描述 ...
- [故障解决]图文:windows apache无法启用 端口被占用
windows apache无法启用 端口被占用 1 XAMPP Error: Apache shutdown unexpectedly 无法启动apache,显示的log为: 2 查了一下端口, 通 ...
- 第七周CorelDRAW课总结
1.这节课学到了什么知识? "交互式透明工具""交互式阴影工具"以及"交互式调和工具"制作水晶表情包. 2.有什么心得体会? 无 3.存在的 ...
- PHP版DES算法加密数据(3DES)另附openssl_encrypt版本
PHP版DES算法加密数据(3DES) 可与java的DES(DESede/CBC/PKCS5Padding)加密方式兼容 <?php /** * Created by PhpStorm. * ...
- JSON Introduction
理解 JSON(JavaScript Object Notation),一种轻量级的数据交换格式,基于JS的一个子集,但其数据格式与语言无关. 通俗来说,如果你是PHP,要和JS互相发送信息,那么这时 ...
- C# 基础知识系列- 14 IO篇 流的使用
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...
- IoTClient开发6 - S7-200SmarTcp协议客户端实现
环境和工具 服务端电脑IP:192.168.1.130 客户端电脑IP:192.168.1.120 1.在服务端电脑运行IoTClientTool 2.运行Wireshark 3.在客户端电脑运行Io ...
- 蒲公英 · JELLY技术周刊 Vol.05: Rust & Electron 的高性能实践 -- Finda
登高远眺 天高地迥,觉宇宙之无穷 基础技术 使用 JavaScript 框架的代价 作者从 JavaScript 下载时间.解析时间.执行时间.内存占用四个角度评测了 jQuery.Angular.R ...