排序
js中二分搜索的使用
1、二分搜索的前提是数组有序,从数组的中间元素开始。如果中间元素恰好是目标值,搜索就结束了。 2、如果目标值大于或小于中间元素,则在大于或小于中间元素的一半中进行搜索。 实例 Array.pro...
js深度优先遍历的介绍
1、尽可能深的搜索图的分支。常规的深度优先并不会破坏原始数据结构,而是采用 isVisited或者颜色标记法进行表示。 2、访问根节点,对根节点的没访问过的相邻节点挨个进行深度优先遍历。 实例 c...
js中快速排序如何实现
1、分区,从数组中选择一个基准,所有比基准小的元素都放在基准前面,比基准大的元素放在基准后面。 2、递归,递归地对基准前后的子树组进行分区。 实例 Array.prototype.quickSort=function(){...
js广度优先遍历如何实现
1、广度优先遍历二叉树,即按层次去遍历。 2、新建队列,根节点入队,出队并访问队头,重复队头未访问的相邻节点2、3步,直至队列为空。 实例 //图的广度优先遍历 constgraph={ 0:[1,2], 1:[2],...
js中eval方法是什么
1、eval是js中最强大的方法之一,它就像一个完整的ECMAScript解析器,它会根据ECMAScript语句对字符串进行解析和计算。 2、eval中的所有变量声明和函数声明都不会增加。 实例 //相当于直接调用a...
js如何检查是否满足条件
1、every只有满足每个条件才能返回true,some是任何一个满足返回true的项目,filter过滤出所有符合条件的项目(找不到返回空)。 2、所有的测试数组都是偶数,都是偶数返回true,否则返回false。 ...
js中shift和unshift的对比
在js中修改数组有两种方法,但是返回的结果是不一样的,本篇就shift和unshift带来详细的对比。 1、添加unshift可以接受==新增多项,shift只删除一项。 数组shift和unshfit提供了类似的队列操作...
js中pop和push的比较
js数组中有很多函数方法,今天我们就pop和push带来比较,帮助初学者进行区分。 1、push可以==新增多项,pop只能删除一项。 2、数组pop和push提供了类似栈的操作方法,从尾部添加或删除。 3、pop...
js作用域链是什么
1、当代码在一个环境中执行时,它将创建一个功能域链。 2、作用域链的使用,让变量沿着作用域链层层向上搜索,直到整体环境。 3、每层功能域的性能消耗巨大,需要减少缓存顶部对象的搜索层数。 ...
js声明变量的提升
1、var声明的变量将提升到当前作用域的顶部,而不是全局。只有声明提升,赋值不提升。不使用var声明的变量默认挂在全局对象window下。 2、如果是函数变量提升,相当于var add; add = function.....