快捷搜索: 王者荣耀 脱发

前端学习-刷题总结-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

经验分享 程序员 微信小程序 职场和发展