前端学习-刷题总结-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 降序 //注:原数组发生改变
小记
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..net/weimob258616/article/details/89737057
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
CSS一个盒子如何变成三角形?