JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)
练习1:求2个数中的最大值
function getMax(num1, num2) {
return num1 > num2 ? num1 : num2;
}
console.log(getMax(10, 20));
//console.log(getMax); //函数的代码
同:
function getMax(num1, num2) {
return num1 > num2 ? num1 : num2;
}
var num1 = 10;
var num2 = 20;
//函数外面的num和函数的形参num1不是同一个变量
var result = getMax(num1, num2);
console.log(result);
//同:console.log(getMax); //函数的代码
练习2:求3个数中的最大值
function getThreeMax(x, y, z) {
return x > y ? (x > z ? x : z) : y > z ? y : z;
}
console.log(getThreeMax(10, 34, 90));
练习3:判断一个数是否是素数(质数)
ps:
1. 只能被1和自身整除,质数是从2开始
2. 用这个数字和这个数字前面的所有的数字整除一次(没有1的,没有自身的)
function isPrimeNumber(num) {
for (var i = 2; i < num; i++) {
if (num % i == 0) {
//说明有一个数字整除了,就没有必要向后继续整除了,此时就已经验证出不是质数
return false;
}
}
return true;
}
console.log(isPrimeNumber(7839) ? "是质数" : "不是质数");
同:
function isPrimeNumber(num) {
for (var i = 2; i < num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
var result = isPrimeNumber(3940);
if (result) {
console.log("这是数字是质数");
} else {
console.log("这是数字不是质数");
}
练习4:求两个数字的差
function getSub(x, y) {
return x - y;
}
console.log(getSub(384, 2424));
练习5:求一组数字中的最大值
function getArrayMax(array) {
var max = array[0];
for (var i = 0; i < array.length; i++) {
if (max < array[i]) {
max = array[i];
}
}
return max;
}
var max = getArrayMax([30, 20, 10, 49, 59]);
console.log(max);
练习6:求一组数字中的最小值
function getArrayMax(array) {
var min = array[0];
for (var i = 0; i < array.length; i++) {
if (min > array[i]) {
min = array[i];
}
}
return min;
}
//测试----调用函数并传入一个数组,把数组中的最小值直接显示出来
console.log(getArrayMax([20, 49, 18, 60, 74, 73]));
练习7:求一组数字的和
function getArraySum(array) {
var sum = 0;
for (var i = 0; i < array.length; i++) {
sum += i;
}
return sum;
}
console.log(getArraySum([1, 2, 3, 4, 5, 6, 7]));
练习8:求一个数组中的最大值和最小值还有和
ps:
1. 给我一个数组,我返回一个数组(最大值,最小值,和)
2. @param array参数是一个数组
3. @returns {*[]}返回值是一个数组,第一个元素值是最大值,第二个元素值是最小值,第三个元素值是和
function getArrayMaxAndMinAndSum(array) {
var min = array[0]; //最小值
var max = array[0]; //最大值
var sum = 0; //和
for (var i = 0; i < array.length; i++) {
sum += array[i]; //和
//最大值
if (max < array[i]) {
max = array[i];
} // end if
//最小值
if (min > array[i]) {
min = array[i];
} //end if
} //end for
var array = [max, min, sum];
return array;
}
//测试
var resultArray = getArrayMaxAndMinAndSum([2, 3, 4, 5, 6, 7, 8, 9, 27]);
console.log("最大值:" + resultArray[0]);//
console.log("最小值:" + resultArray[1]);//
console.log("和:" + resultArray[2]);//71
练习9:通过函数实现数组反转
function reverseArray(arr) {
for (var i = 0; i < arr.length / 2; i++) {
var temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
return arr;
}
console.log(reverseArray([1, 5, 10, 15, 20, 25, 30]));
实现:

练习10:通过函数实现冒泡排序
function sortArray(arr) {
//控制比较的轮数
for (var i = 0; i < arr.length - 1; i++) {
//控制每一轮的比较次数
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
} //end if
} //end for
} //end for
return arr;
}
console.log(sortArray([0, 10, 4, 20, 400, 2, 45]));
实现:

JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)的更多相关文章
- JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)
第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...
- 【JS基础语法】---学习roadmap---6 parts
JS基础语法---roadmap Part 1 - 2: Part 3 - 4: Part 5 - 6
- 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符
030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...
- js基础语法之函数
普通函数 function foo(a, b){ return a + b; } foo(10, 20) >>> 30 匿名函数 var f = function(){console ...
- JS基础语法---函数---介绍、定义、函数参数、返回值
函数: 把一坨重复的代码封装,在需要的时候直接调用即可 函数的作用: 代码的重用 函数需要先定义,然后才能使用 函数名字:要遵循驼峰命名法 函数一旦重名,后面的会把前面的函数覆盖 Ctrl +鼠标左键 ...
- JS基础语法(二)
目录 JavaScript基础语法(二) 八. 函数 1. 函数的概念 2. 函数的使用 声明函数 调用函数 3. 函数的封装 4. 函数的参数 函数的参数匹配问题 5. 函数返回值 6. argum ...
- 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点
css3拓展: <display:none> 将某个元素隐藏 <visibility:hidden> 也是将某个元素隐藏 <display:block&g ...
- 【 js 基础 】【 源码学习 】柯里化和箭头函数
最近在看 redux 的源码,代码结构很简单,主要就是6个文件,其中 index.js 负责将剩余5个文件中定义的方法 export 出来,其他5个文件各自负责一个方法的实现. 大部分代码比较简单,很 ...
- Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数
知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...
- JavaScript01 js基础语法,数据类型
JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...
随机推荐
- Oracle 事务ACID的特性
1.事务对数据库控制操作 事务(Transaction)是用户定义的一个数据库操作序列,是不可分割的一部分的整体.这些操作要么做,要么不做(原子性).事务是对数据库对进行操作的最基本的逻辑单位,他可以 ...
- python中list常用的方法
Python 列表 list (以下内容为比较初级适合小白查看的笔记) 一.介绍: 列表是Python中内置有序.可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开: ...
- 【JDBC】C3P0连接池的使用
C3P0连接池的c3p0-config.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p ...
- 使用Anaconda3的Docker镜像
假设本地 Ubuntu 服务器已经安装好了Docker,这里讲述一下如何开始运行Anaconda3的Docker镜像: 1. 搜索镜像 搜索我们想要的anaconda镜像: docker search ...
- LRU的实现(使用list)
首先是LRU的定义,LRU表示最近最少使用,如果数据最近被访问过,那么将来被访问的几率也更高. 所以逻辑应该是每次都要将新被访问的页放到列表头部,如果超过了list长度限制,就将列表尾部的元素踢出去. ...
- c/c++概述
c/c++的学习分为两个部分 一.语言标准 语言标准定义了功能特性和标准库两部分. 功能特性由编译器负责具体实现,比如linux下gcc,windows下Visual Studio 标准库实现依赖于具 ...
- RNN及其变体框架
RNN及其变体框架 含RNN推导 LSTM理解 理解LSTM网络 算法细节理解及参考文献
- JMeter基础知识系列三
JMeter测试结果字段的意义: Label:定义HTTP请求名称. Samples:表示这次测试中一共发出了多少个请求. Average:平均响应时长,当使用了Transaction Control ...
- 洛谷 P4017 最大食物链计数
洛谷 P4017 最大食物链计数 洛谷传送门 题目背景 你知道食物链吗?Delia生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条.于是她来就来求助你,然而你也不会啊!写 ...
- 设计模式-Proxy(结构型模式)
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Proxy.h #pragma once class Subject { public: virtual ~Subject ...