练习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);
      //    var arr=[10,20,30,40,50];
      //    var max=getArrayMax(arr);
      //    console.log(max);
      // var max = getArrayMax([10, 20, 30, 40, 50]); //可以直接把数组传到函数中的
      // 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个综合练习(运用:循环/数组/函数)的更多相关文章

  1. JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)

    第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...

  2. 【JS基础语法】---学习roadmap---6 parts

    JS基础语法---roadmap Part 1 - 2: Part 3 - 4:   Part 5 - 6

  3. 030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符

    030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符 本文知识点:Java中的条件运算符 条件运算符是Java当中唯一一个三目运算符 什么是三目运算 ...

  4. js基础语法之函数

    普通函数 function foo(a, b){ return a + b; } foo(10, 20) >>> 30 匿名函数 var f = function(){console ...

  5. JS基础语法---函数---介绍、定义、函数参数、返回值

    函数: 把一坨重复的代码封装,在需要的时候直接调用即可 函数的作用: 代码的重用 函数需要先定义,然后才能使用 函数名字:要遵循驼峰命名法 函数一旦重名,后面的会把前面的函数覆盖 Ctrl +鼠标左键 ...

  6. JS基础语法(二)

    目录 JavaScript基础语法(二) 八. 函数 1. 函数的概念 2. 函数的使用 声明函数 调用函数 3. 函数的封装 4. 函数的参数 函数的参数匹配问题 5. 函数返回值 6. argum ...

  7. 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点

    css3拓展: <display:none>  将某个元素隐藏       <visibility:hidden>  也是将某个元素隐藏 <display:block&g ...

  8. 【 js 基础 】【 源码学习 】柯里化和箭头函数

    最近在看 redux 的源码,代码结构很简单,主要就是6个文件,其中 index.js 负责将剩余5个文件中定义的方法 export 出来,其他5个文件各自负责一个方法的实现. 大部分代码比较简单,很 ...

  9. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数

    知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...

  10. JavaScript01 js基础语法,数据类型

    JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...

随机推荐

  1. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

  2. web安全知识整理

    常见漏洞 sql注入 原理:SQL注入攻击是通过将恶意的SQL查询语句插入到应用的输入参数中,欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息 分类: 注入类型:字符型, 数字型 提 ...

  3. nmap的简单使用

    主机探测 1.扫描单个主机 nmap 192.168.1.2 2.扫描整个子网 nmap 192.168.1.1/24 3.扫描多个目标 nmap 192.168.1.1 192.168.1.1.5 ...

  4. 【React Native】在原生和React Native间通信(RN调用原生)

    一.从React Native中调用原生方法(原生模块) 原生模块是JS中也可以使用的Objective-C类.一般来说这样的每一个模块的实例都是在每一次通过JS bridge通信时创建的.他们可以导 ...

  5. Android App图片资源文件压缩利器McImage

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/195 Android App图片资源文件压缩利器McIma ...

  6. kotlinx.android.synthetic.** 坑点

    Kotlin通过添加 apply plugin: 'kotlin-android-extensions' 可以直接使用layout id 名称获取当前view对象,详细使用如下: //layout & ...

  7. Saltstack_实战指南01_系统规划

    1. 实战项目GitHub地址 之前<Saltstack_使用指南>详细讲解了saltstack的使用.那么从这节开始实战讲解,当然不会再像之前那样详细说明了.只是讲一些系统规划之类的信息 ...

  8. form-data、x-www-form-urlencoded、raw、binary的区别(非原创)

    文章大纲 一.form-data介绍二.x-www-form-urlencoded介绍三.raw介绍四.binary介绍五.参考文章 一.form-data介绍 http请求中的multipart/f ...

  9. beego和bee安装问题解决

    如果使用go mod模式,直接安装bee时会报错: go: github.com/beego/bee imports github.com/beego/bee/cmd imports github.c ...

  10. acwing 25. 剪绳子

    习题地址 https://www.acwing.com/problem/content/description/24/ 题目描述 给你一根长度为 nn 绳子,请把绳子剪成 mm 段(mm.nn 都是整 ...