b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

深入讨论JS中的排序功能sort()和reverse()

电脑杂谈  发布时间:2020-05-28 19:16:08  来源:网络整理

js 数组排序方法_js数组自定义排序_js 数组排序方法

短视频,自媒体,一站式人才培养服务

研究Javascript最近发现了其中一些更奇怪的东西. 这有点无语. 例如:

警报(typeof(NaN == NaN)); //结果为假.

警报(typeof(NaN!= NaN)); //结果为true.

当然,这不是本文的主题!让我们开始我们的文字

首先,让我们看一下JS中的sort()和reverse()这两个函数的功能

js数组自定义排序_js 数组排序方法_js 数组排序方法

reverse();此功能用于颠倒顺序. 没什么好说的. 所谓的逆序在前面大而在后面小.

例如:

var array1 = [0,1,5,10,15];

array1.reverse(); //结果是: 15,10,5,1,0

sort([参数]);该函数用于按正序对数组进行排序,但我发现每个人似乎都像往常一样在大多数语言中使用此函数!!但是,没错,您发现该函数实际上具有参数.

无论如何,当我们学习JS课程时,老师并没有解释该函数具有此参数.

js 数组排序方法_js 数组排序方法_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()中的参数. 该参数指向一个函数!相信每个人都看到上面的图片,我不会做太多解释. 看看下面的代码,我正在分析它的实现过程.

js数组自定义排序_js 数组排序方法_js 数组排序方法

注意: sort()方法可以接受一个方法作为参数,并且该方法有两个参数. 在每个排序和比较中分别代表两个数组项. 每当比较两个数组项时,Sort()都会执行此参数,并将两个比较后的数组项作为参数传递给此函数. 函数返回值1时,两个数组项的顺序将交换,否则不交换.

首先,让我解释一下!排序算法与冒泡算法是分不开的!这里也使用冒泡算法,但是我们如何理解这个计算定义函数!

此计算定义函数必须具有两个参数(正在排序,换句话说,谁大是第一个!!这是比较大小. )

该函数的含义是,当v1v2为1时,v1 == v2为0

根据冒泡算法: 将两个值传递给v1和v2,数组[0] =“ 0”,数组[1] =“ 2”然后,v1 = 0,v2 = 2,

第一回合: 根据上述规定,无需调换头寸,则第一回合为: 0,2,1,0.5,因为0小于任何数字,因此第一回合结束,他始终位于前排对我来说我不会分析

js 数组排序方法_js数组自定义排序_js 数组排序方法

第二轮: 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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...