加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

JavaScript数组方法三板斧,100%的开发都得知道

发布时间:2019-08-14 23:07:34 所属栏目:优化 来源:读芯术
导读:副标题#e# 在该文中,将介绍以下三种方法: 1. join()方法 2. split()方法 3. sort()方法 为什么每个JavaScript开发人员都要知道这些方法?因为数组是代码中的重要元素,而这些方法可以让代码更优雅和更具代表性。 在没有这些方法的情况下也可以运行项目,

默认情况下, sort() 函数将值排序为字符串。

  1. let greekLetter = ['beta','alpha','delta','gamma']; 
  2. console.log(greekLetter.sort())     //  [ 'alpha', 'beta', 'delta', 'gamma' ] 

对数字进行排序时,会出现问题。

因为,如果要对数字进行排序,比如说100和25,100将出现在25之前,因为100中的1出现在25中的2之前。

  1. let num1 = [25, 100, 23] 
  2. console.log(num1.sort())                       //[ 100, 23, 25 ] 
  3.  
  4.  
  5. let num2 = ['25', '100', '23'] 
  6. console.log(num2.sort())                      //[ '100', '23', '25' ] 

可以使用比较函数来解决这一问题,这种方法将函数传递给语法: function(a, b){return a — b}

  1. let num = [25, 100, 23] 
  2. console.log(num.sort((a, b) => { 
  3.     return a - b 
  4. })) 
  5.  
  6. //[ 23, 25, 100 ] 

(我们使用了箭头函数,而不是上文语法中给出的传统函数.)

首先要理解这个比较函数。它应返回负值、零值还是正值,具体取决于参数——a更大还是b更大。

当 sort() 函数比较两个值时,它会将值发送至比较函数,并根据返回值(负值、零值或正值)对值进行排序。

  • 如果结果为负,则a排在b之前。
  • 如果结果为正,则b排在a之前。
  • 如果结果为0,则两个值的排序顺序不会发生改变。
  • 比较函数比较数组中的所有值,一次比较两个值(a,b)。

· 比较25和100时, sort() 方法调用比较函数(25,100)。

· 函数计算25-100(a,b),且在结果为负(-75)时,sort函数将25排为低于100的值。

JavaScript数组方法三板斧,100%的开发都得知道

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读