欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端学习-刷题总结-leetcode88题的思考之splice()和sort()

程序员文章站 2022-04-26 14:44:00
...

leetcode88题的思考之splice和sort

splice

1.splice会影响原数组,但返回的值是切割得到的值,而原数组是切割后剩下的值

const arr=[1,2,3,0,0,0]
console.log(arr.splice(0,3))//[1,2,3]
console.log(arr)//[0,0,0]

2.leetcode88题可解答为:
nums1.splice(m,n,…nums2)
利用splice的替换,以及ES6扩展运算符

sort

语法:array.sort(fun);参数fun可选。规定排序顺序。必须是函数。
注:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
如果想按照其他规则进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
简单点就是:比较函数两个参数a和b,返回a-b 升序,返回b-a 降序
//注:原数组发生改变

————————————————
原文链接:https://blog.csdn.net/m0_37885651/article/details/80016718

小记

sortSimple((a,b)=>{
return a-b
})
//表示的是判断a与b的关系,上面代码是下面代码的简写
sort((a,b)=>{
 if(a>b){
   return 1;
       }
 if(a<b){
   return -1;
       }
   return 0;
})
//若a>b,返回true,则需要换位置,代表此时排序算法是升序

上述见解详细解释可见:https://blog.csdn.net/weimob258616/article/details/89737057