一天一个仿lodash函数实现-chunk、compat、concat

从数组系列开始-chunk和compact

chunk给数组分组

按size设步长来遍历组装

function chunk(arr, size){
  const result = [];
  // 小于1,下面循环会有问题,也不合理
  if(size<1){
    return [];
  }
  for(let i=0;i<arr.length;i+=size){
    result.push(arr.slice(i, i+size))
  }
  return result;
}

compact过滤数组中的falsey元素(false,null,0,"",undefined,NaN)

直接filter即可,falsey元素条件判断都为false

function compact(arr) {
  return arr.filter(item=>item)
}

concat

function concat(arr, ...rest) {
  return arr.concat(...rest)
}

lodash一般不用array的属性方法,而是for遍历,比如compact用了for of

posted @   Dont  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2014-06-10 function变量困惑
点击右上角即可分享
微信分享提示