摘要: pull 从数组中剔除指定的元素,方法会改变数组 function pull(arr, ...rest){ for(let i=0;i<arr.length;i++){ if(rest.includes(arr[i])) { arr.splice(i, 1); i--; } } return arr 阅读全文
posted @ 2022-06-18 00:02 Dont 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 这次的几个就更简单了。 function join(arr, separator=",") { return arr.join(separator) } function last(arr) { return arr.length?arr[arr.length-1]:undefined } func 阅读全文
posted @ 2022-06-17 09:45 Dont 阅读(48) 评论(0) 推荐(0) 编辑
摘要: intersection 这个和前面写的difference反过来,difference是求未出现过的,intersection是求出现过的,所以实现起来就比较简单了。 function intersection(arr, ...rest){ const left = rest.reduce((pr 阅读全文
posted @ 2022-06-16 00:37 Dont 阅读(80) 评论(0) 推荐(0) 编辑
摘要: fromPairs 它是toPairs的反转,不过现在是数组函数系列还没走到toPairs。 它接收一个二维数组,元素是一个两元素的数组,一个是key,一个是value 所以实现很简单 function fromPairs(arr){ const map = {}; arr.forEach(item 阅读全文
posted @ 2022-06-15 09:23 Dont 阅读(77) 评论(0) 推荐(0) 编辑
摘要: flatten 数组元素铺平一层 function flatten(arr){ return arr.reduce((pre, cur)=>{ return pre.concat(cur) }, []) } flattenDeep 数组元素全部铺平,采用递归的方式,当遇到元素为数组时,继续调用函数来 阅读全文
posted @ 2022-06-14 00:32 Dont 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 把arr数组中从start到end(不包括end)用value填充 function fill(arr, value, start = 0, end = arr.length) { for(let i = start;i<end;i++) { arr[i] = value; } return arr 阅读全文
posted @ 2022-06-13 14:00 Dont 阅读(61) 评论(0) 推荐(0) 编辑
摘要: drop 将数组头部的n个元素丢弃,返回一个新的数组 // 默认n为1 function drop(arr, n = 1) { if(n<0){ throw new Error('n must be positive'); } return arr.slice(n); } dropRight 和dr 阅读全文
posted @ 2022-06-12 10:27 Dont 阅读(39) 评论(0) 推荐(0) 编辑
摘要: difference 从第一个参数数组中找出后面参数数组里未出现的元素,组成新的数组返回 function difference(arr, ...rest) { // 扁平化rest const target = rest.reduce((pre, cur) => { return pre.conc 阅读全文
posted @ 2022-06-12 01:15 Dont 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 最近常用的几个keyBy、groupBy和find keyBy将数组以某个元素属性作为key整理成字典 groupBy类似keyBy但字典value是数组,类型分组 find从数组中找到匹配的元素,虽然用数组filter方法也可以,但是filter是过滤,如果匹配返回的永远是数组。find返回的是匹 阅读全文
posted @ 2022-06-10 20:26 Dont 阅读(388) 评论(0) 推荐(1) 编辑
摘要: 从数组系列开始-chunk和compact chunk给数组分组 按size设步长来遍历组装 function chunk(arr, size){ const result = []; // 小于1,下面循环会有问题,也不合理 if(size<1){ return []; } for(let i=0 阅读全文
posted @ 2022-06-10 20:18 Dont 阅读(60) 评论(0) 推荐(0) 编辑