一天一个仿lodash函数实现-remove、reverse和slice

又遇到简单的函数实现了

remove

移除数组中命中的元素,并返回移除元素组成的数组,会改变原数组。

和pullAt有点像

function remove(arr, iteratee){
  const removes = [];
  for(let i=0;i<arr.length;i++){
    if(iteratee(arr[i])){
      removes.push(arr[i]);
      arr.splice(i, 1);
      i--;
    }
  }
  return removes;
}

reverse

连官方文档都说了是用数组的reverse咯,那就很简单了

function reverse(arr){
  return arr == null?arr:arr.reverse();
}

slice

function slice(arr, start=0, end=arr.length){
  return arr==null?[]:arr.slice(start, end)
}
posted @ 2022-06-19 16:17  Dont  阅读(61)  评论(0编辑  收藏  举报