自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 详细到奶奶都看得懂,js中for..in 与 for..of 区别,再扩展几种循环迭代方法,

详细到奶奶都看得懂,js中for..in 与 for..of 区别,再扩展几种循环迭代方法。

2021-12-06 16:32:27 820

原创 js二分搜索

前提是有序数组Array.prototype.binarySearch = function (item) { let low = 0; let high = this.length - 1; while(low <= high) { const mid = Math.floor((low + high) / 2); const element = this[mid]; if(element < item) {

2021-11-09 22:48:56 417

原创 js的五种排序方法

1.冒泡排序说明:比较所有相邻元素,如果第一个比第二个大,则交换它们一轮下来保证可以找到一个数是最大的执行n-1轮,就可以完成排序图示:**代码://定义一个原生的bubbleSort方法Array.prototype.bubbleSort = function () { for(let i = 0; i < this.length - 1; i += 1) { //通过 this.length 次把第一位放到最后,完成排序 //-i是因为

2021-11-09 18:40:51 46050 5

原创 JS数据结构堆

1.什么是堆?堆是一种特殊的完全二叉树所有的节点都 大于等于 或 小于等于 它的子节点,最大堆的根节点大于等于它的子节点,最小堆的根节点小于等于它的子节点JS中常用数组表示堆2.常用操作获取父节点获取左节点获取右节点上移节点下移节点插入节点删除节点获取堆顶获取堆的大小寻找第K个最大元素3.定义堆类以定义一个最小堆为例class MinHeap{ constructor() { this.heap = []; } // 获取父

2021-11-09 16:15:29 1425

原创 javascript数据结构-图

1.什么是图?图是网络结构的抽象模型,是一组由边连接的节点图是一种与树结构相似的数据结构JS中没有图,但是可以用Object和Array构建图图的表示形式有邻接矩阵,邻接表2.常用操作广度优先遍历深度优先遍历3.代码示例创建一个邻接表const graph = { 0: [1,2], 1: [2], 2: [0,3], 3: [3]};module.exports = graph;深度优先遍历const graph = require(

2021-11-09 15:17:38 899

原创 JS数据结构-树

1.什么是树?树是一种分层数据的抽象模型前端常见的树包括:DOM树,级联选择,树形控件2.二叉树常用操作先序遍历中序遍历后序遍历深度优先遍历广度优先遍历3.代码示例定义一个二叉树文件const bt = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null }

2021-11-08 20:17:56 798

原创 js数据结构-字典

1.什么是字典?字典是一种以键值对的形式存储唯一值的数据结构ES6中有字典,名为Map2.常用操作添加元素 set删除元素 delete更改元素 set查找元素 get清空字典 clear3.代码示例//创建字典const myMap = new Map();//增,'a'为键,'aa'为值myMap.set('a','1'); // {a:1}myMap.set('b','2'); //{a:1,b:2}//删myMap.delete('

2021-11-07 19:57:26 1446

原创 JS数据结构-集合

1.什么是集合?一种有序且唯一的数据结构ES6中封装好了集合,名为Set2.常用操作判断元素是否在集合中 has添加元素 add删除元素 delete集合大小 size求交集求并集求差集集合转数组数组转集合3.使用示例//创建集合let a = new Set([1,2,3]);let b = new Set([3,4,5]);//判断元素是否在集合中const has = a.has(1); // true//添加元素到集合中a.add(6);

2021-11-07 16:13:37 274

原创 javascript链表

1.什么是链表?链表是多个元素组成的列表元素存储不连续,用next指针连接到一起JS中没有链表,但是可以用Object模拟链表2.常用操作新增节点 append删除节点 remove插入节点 insert输出节点索引 indexOf...

2021-11-06 23:31:09 8698 4

原创 Js中队列

1.什么是队列?队列是一种先进先出的数据结构Js中没有队列,但是可以用Array来实现队列的所有功能# 2.常用方法push:新元素入队shift:队头元素出队,并给返回值length:返回队的长度3.使用示例//初始化一个队const queue = [];//入队queue.push(1); //queue = [1]queue.push(2); //queue = [2]const item1 = queue.shift(); //q

2021-11-02 17:42:28 4055

原创 javascript深拷贝三种方法

方法一: 使用JSON转换 function deepClone2(target) { //通过数据创建JSON格式的字符串 let str = JSON.stringify(target); console.log(str); //将JSON字符串转化为JS数据 let data = JSON.parse(str); return data; }...

2021-11-02 12:51:44 1395

原创 javascript中的栈

javascript中的栈

2021-11-01 18:48:17 2480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除