
短视频,自媒体,一站式人才培养服务
研究Javascript最近发现了其中一些更奇怪的东西. 这有点无语. 例如:
警报(typeof(NaN == NaN)); //结果为假.
警报(typeof(NaN!= NaN)); //结果为true.
当然,这不是本文的主题!让我们开始我们的文字
首先,让我们看一下JS中的sort()和reverse()这两个函数的功能

reverse();此功能用于颠倒顺序. 没什么好说的. 所谓的逆序在前面大而在后面小.
例如:
var array1 = [0,1,5,10,15];
array1.reverse(); //结果是: 15,10,5,1,0
sort([参数]);该函数用于按正序对数组进行排序,但我发现每个人似乎都像往常一样在大多数语言中使用此函数!!但是,没错,您发现该函数实际上具有参数.
无论如何,当我们学习JS课程时,老师并没有解释该函数具有此参数.

我刚刚说过,它给我们提供了与其他语言不同的积极排序功能. 让我举个例子.
var array1 = [0,1,5,10,15];
array1.sort(); //结果为: 0,1,10,15,5
您可以自己尝试一下,看看是否有此结果!当我看到结果时,我不知道为什么. 可能是因为该函数的排列顺序不正确,所以我去了Internet查找相关信息js 数组排序方法,并且在W3CSchool中看到了对该函数的一些描述. 如下图所示
每个人都仔细阅读了上图中的说明,在这里我使用了红线部分,这是此功能在排序过程中影响其值的根本原因. (实际上,当使用sort()进行排序时,将调用toString()函数将其值转换为字符串以进行比较,并根据ASCII进行比较)
这并不难理解: ASCII值1必须小于ASCII值5,因为正数序号越小,则越小越靠前!我们应该怎么做才能使其正确排序所需的效果. 这时,将使用sort()中的参数. 该参数指向一个函数!相信每个人都看到上面的图片,我不会做太多解释. 看看下面的代码,我正在分析它的实现过程.

注意: sort()方法可以接受一个方法作为参数,并且该方法有两个参数. 在每个排序和比较中分别代表两个数组项. 每当比较两个数组项时,Sort()都会执行此参数,并将两个比较后的数组项作为参数传递给此函数. 函数返回值1时,两个数组项的顺序将交换,否则不交换.
首先,让我解释一下!排序算法与冒泡算法是分不开的!这里也使用冒泡算法,但是我们如何理解这个计算定义函数!
此计算定义函数必须具有两个参数(正在排序,换句话说,谁大是第一个!!这是比较大小. )
该函数的含义是,当v1v2为1时,v1 == v2为0
根据冒泡算法: 将两个值传递给v1和v2,数组[0] =“ 0”,数组[1] =“ 2”然后,v1 = 0,v2 = 2,
第一回合: 根据上述规定,无需调换头寸,则第一回合为: 0,2,1,0.5,因为0小于任何数字,因此第一回合结束,他始终位于前排对我来说我不会分析

第二轮: v1 = 2,v2 = 1;
第一次: 因为v1> v2js 数组排序方法,所以v1和v2值交换位置的结果是: 0,1,2,0.5;
第二次: 此时v1 = 1,v2 = 2进行比较,标题为: 0,1,2,0.5,
第三次: 这次v1 = 1,v2 = 0.5,因为v1> v2,v2和v2交换位置,结果是: 0,0.5,1,2
第四次: 此时,v1 = 0.5,v2 = 2,结果为0: 0.5,1,2
第三轮: v1 = 1,v2 = 2;
第一次: 比较的结果是0,0.5,1,2,因为这一次它已经到达数组的末尾. 退出功能. 返回结果.
好的,这是对sort()函数的讨论. 希望阅读本文后,您对JS的排序功能有更深入的了解. 当然,我解释的这种写作方式是一种更通用的写作方式. 您也可以根据需要编写它,以相反的顺序,大写和小写等等. 在这里我就不多说了!可能有些地方要解释不够好. 希望大家都能理解. 如有任何疑问,请在文章下方留言.
qidian.com的原始教程
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-225561-1.html
可见我们今天的科技现实
虽说吨位超过了
但国家面子更重要