WEB前端递归数组模块详解

这篇具有很好参考价值的文章主要介绍了WEB前端递归数组模块详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function fn(n){
				for(let i = 0; i< n; i++){
					for(let j = 0; j < n; j++){
						console.log(i)
					}
				}
			}
			//递归函数:简单说就是自己调用自己的函数,一定要有种终止条件
			//定义函数
			// function fn(num){
			// 	console.log(num)
			// 	num += 1
			// 	if(num >=100){
			// 		console.log(num)
			// 		return num
			// 	}

			// 	fn(num)
			// }
			// //调用

			// let num = 0
			// fn(num)


			function sum(n) {
				if (n == 1) {
					return 1
				}
				return sum(n - 1) + n
			}
			console.log(sum(100))
			console.log("程序结束.")
			//假如n == 100
			//sum(99) + 100
			//sum(98) + 99 + 100
			//sum(97) + 98 + 99 +100
			//1 + 2 + 3 + ... 100

			// 1 1 2 3 5 8 13 21 34 55
			//求斐波那契数列的第n项
			function fib(n) {
				if (n == 1 || n == 2) {
					return 1
				}
				return fib(n - 1) + fib(n - 2)
			}
			console.log(fib(10))
		</script>
	</body>
</html>

数组

js中的数组不是一段连续的空间,他是一个双向的链表结构,每一个元素会记录前后元素的内存地址,所以删除或者插入元素只需要修改前后元素中保存的地址即可,非常方便,这一点上优于C。

但是要访问元素的效率比起c差很多。

咱们的数组也是由于许多好用的属性和方法。

常用的方法和属性如下文章来源地址https://www.toymoban.com/news/detail-822366.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			//如何创建数组,直接创建一个数组的实例赋值给变量
			//var arr = []
			//创建方式2
			//var arr = new Array()
			//创建方式3
			//var arr = Array(1, 2, 3, 4, 5, 6)
			//增
			//push新增元素值数组的尾部
			//arr.push(7)
			//arr.unshift(0)
			//删
			// arr.pop()
			// arr.shift()
			//改
			// arr[0] = 100
			//查询
			//let arr2 = [7, 8, 9, 10]
			//拼接数组concat
			//join通过指定的字符串来拼接数组中每一个元素
			//split是通过指定的字符串将目标字符串分解成数组
			let arr = [1,2,3,4,5]
			// let str = arr.join("*!@#¥%")
			// let arr2 = str.split("*!@#¥%")
			// console.log(str)
			// console.log(arr2)
			// //reverse反转
			// console.log(arr.reverse())
			//splice可以用来在指定位置插入多个元素,也可以用来删除指定位置多个元素
			arr.splice(2,2)
			console.log(arr)
			//sort 可以用来给数组排序 排序方法可以自定 return a-b 升序 b-a降序
			let arrary = [5,3,7,1,2,99,130]
			console.log(arrary.sort(function(a,b){
				return a-b// b-a
			}))
		</script>
	</body>
</html>

Math

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			console.log(Math.PI)
			console.log(Math.E)
			//floor向下去整
			console.log(Math.floor(16.99999999))
			//ceil向上取整
			console.log(Math.ceil(16.000000001))
			//四舍五入
			console.log(Math.round(13.5))
			//abs取绝对值
			console.log(Math.abs(-100))
			let arr = [1, 7, 3, 8, 9, 10]
			//max方法取最大值
			console.log(Math.max(1, 7, 8, 9, 0, 101, 123123, 33))
			//min方法区最小值
			console.log(Math.min(1, 7, 8, 9, 0, 101, 123123, 33))
			//math.random随机数 范围[0,1)
			console.log(Math.random() * 10 + 10)
			//开平方sqrt
			console.log(Math.sqrt(100))
			//幂次运算
			console.log(Math.pow(1e200,(1/100)))
		</script>
	</body>
</html>

date模块

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="msg"></div>
		<script>
			//获取当前系统时间
			let date = new Date()
			console.log(date)
			//指定一个时间
			// date = new Date("2000-1-1 00:00:00")
			// console.log(date)
			//获取年份
			let year = date.getFullYear()
			console.log(year)
			//获取月份
			let month = date.getMonth()
			console.log(month + 1)
			//获取几号
			let dateOfMonth = date.getDate()
			console.log(dateOfMonth)
			//获取星期几
			let day = date.getDay()
			console.log(day)
			//时分秒
			let hour = date.getHours()
			let minute = date.getMinutes()
			let second = date.getSeconds()
			let millsec = date.getMilliseconds()
			console.log(hour + ":" + minute + ":" + second + ":" + millsec)

			let div = document.getElementById("msg")

			let intervalId = setInterval(() => {
				date = new Date()
				let hour = date.getHours()
				let minute = date.getMinutes()
				let second = date.getSeconds()
				let millsec = date.getMilliseconds()
				// document.write(date)
				div.innerHTML = hour + ":" + minute + ":" + second + ":" + millsec
			}, 100)

			clearInterval(intervalId)
		</script>
	</body>
</html>

倒计时代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="msg"></div>
		<script>
			let count_down = 5
			let msg = document.getElementById("msg")
			let id = setInterval(()=>{
				msg.innerHTML = count_down
				count_down--
				if(count_down == 0){
					clearInterval(id)
					msg.innerHTML = "火箭发射"
				}
			},1000)
		</script>
	</body>
</html>

到了这里,关于WEB前端递归数组模块详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web前端:3d立体旋转+源码+详解

    思路:            直接插入代码: 代码段中所有移动100px,都是移动图片的中心点到四个边,然后旋转搭建立方体

    2024年02月12日
    浏览(45)
  • 前端 -- 基础 网页、HTML、 WEB标准 扫盲详解

    网页是构成网站的基本元素,它通常由 图片、链接、文字、声音、视频等元素组成。  通常我们看到的网页 ,常见以 .html 或  .htm  后缀结尾的文件, 因此俗称 HTML 文件  HTML 指的是 超文本标记语言,它是用来描述网页的一种语言  HTML 不是一种编程语言,而是一种 标记语

    2024年02月12日
    浏览(52)
  • 网络安全B模块(笔记详解)- 利用python脚本进行web渗透测试

    1.使用渗透机场景kali中工具扫描确定Web服务器场景地址,浏览网站Flag.html页面,并将Flag.html中的Flag提交; 扫描发现是8081端口 访问页面查看 Flag:WXL0601 2.进入渗透机场景win7操作系统,完善桌面上的tupian.py文件,填写该文件当中空缺的Flag1字符串,并将该字符串作为Flag提交;

    2024年01月18日
    浏览(48)
  • 任务二 数组和递归

    输入一个奇数N,打印N×N的矩阵。 1.起点在左上角的蛇形矩阵 样例输入:5 样例输出: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 2.起点在中间的蛇形矩阵 样例输入:5 样例输出: 25 10 11 12 13 24 9 2 3 14 23 8 1 4 15 22 7 6 5 16 21 20 19 18 17 【解题思路】 1.对于N×N的矩阵,定义数

    2024年02月04日
    浏览(20)
  • 数组 容器 递归 普通排序 线性排序

    这本书的大部分内容比较浅显,因此只挑DSAA课程上没有涉及或没有深入讨论的点总结 提高传统数组插入/删除数据效率的方法: 如果插入的数据不要求有序,可以直接把某位的原数据替换成新数据,然后把原数据放到数组末尾,避免大面积的数据移动。 删除时不用一个一个

    2024年02月19日
    浏览(36)
  • HTML5+CSS3+移动web 前端开发入门笔记(二)HTML标签详解

    排版标签用于对网页内容进行布局和样式的调整。下面是对常见排版标签的详细介绍: 标题使用至标签进行定义。定义最大的标题,定义最小的标题。具有align属性,属性值可以是:left、center、right。 将给定的HTML代码转换为Markdown格式的标题标签如下所示: 效果演示: H3:

    2024年02月07日
    浏览(65)
  • 倒霉倒霉倒霉(传送门 bfs 三维数组 递归 综合运用

    题目描述 “啊!倒霉倒霉倒霉~”龙叔被困在一座大厦里了,可恶的瓦龙把这座大厦点燃了,他借机消灭龙叔。 这座大厦有L层,每一层都有R*C个房间。熊熊火焰蔓延十分快,有的房间已经着火了,龙叔没办法通过。 这时老爹用魔法告诉龙叔,这座大厦出口的位置。“还有一

    2023年04月18日
    浏览(17)
  • chainlink 小实战 web3 “捐助我”项目合约及前端交互——关于 《Patrick web3 course Lesson 7-8 》课程代码中文详解

    FundMe lesson 的 示例 本质上是一个合约上对 eth 接收和发送的演示,但这个演示增加了前端 ethers 的交互,以及对 chainlink 预言机喂价的使用。 总体来说是一些 Defi 项目上的某一块功能的缩影,不过总体来说还是挺简单的。 若不会 chainlink 喂价的使用可以去看我这篇文 《预言机

    2024年02月02日
    浏览(42)
  • js递归遍历树形结构数据,获取所有数组id集合

    实现思路 可以使用递归遍历整个树形数组,将每个节点的id加入到一个数组中,最后返回这个数组即可。 数据准备 代码实现 方式一 获取结果 方式二 获取结果 方式三 获取结果 方法总结 这里的tree是树形数组,result是用来保存所有id的数组。 首先遍历当前层级的每个节点,

    2024年02月11日
    浏览(51)
  • 递归回溯两个例题:1.数组组合 2.在矩阵中搜索单词

    题目1:组合 给定两个整数 n 和 k ,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 输入:n = 4, k = 2 输出: [   [2,4],   [3,4],   [2,3],   [1,2],   [1,3],   [1,4], ]  解题思路: 1.定义一个temp数组,存放临时的组合结果 2.两种选择:1.选择当前元素2.不选

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包