🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

0 篇文章

Array - filterFalsy

2019-04-23 描述移除数组中的假值。提示使用 Array.prototype.filter()获取数组中为真值的元素。代码 constfilterFalsy=arr=>arr.filter(Boolean);示例获取数组中的真值:filterFalsy(['',true,{},false,'sample',1,0]);//[true,{},'sample',1]返回总目录每天 30 秒系列之 JavaS

Array - filterNonUnique

2019-04-24 描述过滤出数组中重复的元素。提示使用 Array.prototype.filter()获取数组中值唯一的元素使用 Array.prototype.indexOf()和 Array.prototype.lastIndexOf()来对重复数组进行判断代码 constfilterNonUnique=arr=>arr.filter(i=>arr.indexOf(i)===arr.lastInde

Array - filterNonUniqueBy

2019-04-25 描述基于提供的对比函数,移除数组中值不唯一的元素。提示使用 Array.prototype.filter()和 Array.prototype.every()对数组中是否包含唯一值进行判断唯一值的判断取决于对比函数 fn 对比函数需传入 4 个参数:对比的两个元素及他们的索引代码 constfilterNonUniqueBy=(arr,fn)=>arr.filter((v,i)=>arr.ev

Array - findLast

2019-04-26 描述当提供的函数返回真值时,返回数组中的最后一个元素。提示使用 Array.prototype.filter()移除函数中返回假值的元素使用 Array.prototype.pop()获取最后一个元素代码 constfindLast=(arr,fn)=>arr.filter(fn).pop();示例获取数组中最后一个奇数:findLast([1,2,3,4],n=>n%2===1);/

Array - findLastIndex

2019-04-27 描述当提供的函数返回真值时,返回最后一个元素的索引值。提示使用 Array.prototype.map()迭代数组中的每一个元素,使每一个元素变为包含他本身索引和值的数组使用 Array.prototype.filter()移除函数中假值的元素使用 Array.prototype.pop()获取最后一个元素代码 constfindLastIndex=(arr,fn)=>arr.map((

Array - flatten

2019-04-28 描述按照指定深度展开被多层嵌套的数组。提示使用递归,每一次递归减少一层嵌套使用 Array.prototype.reduce()和 Array.prototype.concat()来合并元素或数组基于此,当 depth 等于 1 时停止递归第二个参数 depth 可以省略,其默认值为 1,即只展开数组中元素的第一层嵌套代码 constflatten=(arr,depth=1)=>arr.reduce

Array - forEachRight

2019-04-29 描述从数组的最后一个元素开始,使用提供的函数为数组的每一个元素进行一次执行。提示使用 Array.prototype.slice(0)克隆给出的数组使用 Array.prototype.reverse()进行反向排序使用 Array.prototype.forEach()依次迭代数组中的元素代码 constforEachRight=(arr,callback)=>arr.slice(0)

Array - groupBy

2019-04-30 描述基于给定的函数,对数组中的元素进行分组。提示使用 Array.prototype.map()迭代数组中的每一个元素,返回函数运行的结果或其属性值 tomapthevaluesofanarraytoafunctionorpropertyname.使用 Array.prototype.reduce()创建一个对象,他的 key 来自于 map 计算后的结果代码 constgroupBy=(arr

Array - head

2019-05-01 描述返回列表中的第一个元素。提示使用 arr[0]返回数组中的第一个元素代码 consthead=arr=>arr[0];示例返回第一个元素:head([1,2,3]);//1 返回总目录每天 30 秒系列之 JavaScript 代码

Arrat - indexOfAll

2019-05-02 描述返回数组中和 val 相等的所有元素的索引值。如果没有元素与之相等的话,返回[]。提示使用 Array.prototype.reduce()迭代每一个元素,存储与之相等的元素的索引值返回数组的索引值代码 constindexOfAll=(arr,val)=>arr.reduce((acc,el,i)=>(el===val?[...acc,i]:acc),[]);示例获取数组中与指定值

Array - initial

2019-05-03 描述返回数组中除最后一个以外的所有元素。提示使用 arr.slice(0,-1)返回数组中的所有元素,但是不包含最后一个代码 constinitial=arr=>arr.slice(0,-1);示例移除数组中最后一个元素:initial([1,2,3]);//[1,2]返回总目录每天 30 秒系列之 JavaScript 代码

Array - initialize2DArray

2019-05-04 描述根据给定的宽、高和值初始化一个二位数组。提示使用 Array.from()创建数组使用 Array.prototype.map()为 h 行中的每一行生成包含 w 个元素的数组使用 Array.prototype.fill()为数组中的元素赋值如果没有提供值的话,其默认值为 null 代码 constinitialize2DArray=(w,h,val=null)=>Array.from({le

Array - initializeArrayWithRange

2019-05-05 描述根据开始、结束范围及间隔大小生成一个数组。提示使用 Array.from()创建一个数组数组的长度为(end-start+1)/step 为每一个元素填充给定范围内所期望的值起始值可以省略,默认值为 0 间隔大小也可以省略,默认值为 1 代码 constinitializeArrayWithRange=(end,start=0,step=1)=>Array.from({length:Mat

Array - initializeArrayWithRangeRight

2019-05-06 描述初始化一个指定开始结束范围的倒序数组,其元素的值间隔可以进行自定义。提示根据开始结束的范围使用 Array.from(Math.ceil((end+1-start)/step))创建一个特定长度的数组元素个数等于(end-start)/step 或者等于包含结束范围(end+1-start)/step 使用 Array.prototype.map()填充范围内正确的值起始位置的默认值

Array - initializeArrayWithValues

2019-05-07 描述初始化一个按照指定值填充的数组。提示使用 Array(n)根据指定的长度创建一个数组使用 fill(v)为数组填充期待的值 val 的默认值为 0 代码 constinitializeArrayWithValues=(n,val=0)=>Array(n).fill(val);示例初始化一个长度为 5,值为 2 的数组:initializeArrayWithValues(5,2);//[2,2,2

Array - initializeNDArray

2019-05-08 描述根据指定的值创建一个 n 纬数组。提示使用递归使用 Array.from 生成指定长度的数组在 Array.prototype.map()中递归生成新数组代码 constinitializeNDArray=(val,...args)=>args.length===0?val:Array.from({length:args[0]}).map(()=>initializeNDArray(va

Array - intersection

2019-05-09 描述返回两个数组中都存在的元素列表。提示从数组 b 中创建一个 Set 使用 Set.prototype​.has()判断是否存在相同的值对数组 a 使用 Array.prototype.filter()来保留 b 中也存在的元素代码 constintersection=(a,b)=>{consts=newSet(b);returna.filter(x=>s.has(x));};示例返回两个数组中相同

Array - intersectionBy

2019-05-10 描述两个数组中的每个元素通过使用提供的函数所返回的返回值相同时,则把该元素放入结果列表中。提示使用 Set 创建一个新集合,该集合为 b 数组中的元素使用提供的函数后的结果对 a 数组使用 Array.prototype.filter()来过滤掉集合中不存在的元素代码 constintersectionBy=(a,b,fn)=>{consts=newSet(b.map(fn));returna.

Array - intersectionWith

2019-05-11 描述使用提供的对比函数对比两个数组中同一位置的元素是否相等,返回相等的元素列表。提示 Array.prototype.findIndex()可以获取使用对比函数比对成功的索引值使用 Array.prototype.filter()获取比对成功的索引值元素列表代码 constintersectionWith=(a,b,comp)=>a.filter(x=>b.findIndex(y=>c

Array - isSorted

2019-05-12 描述如果数组按照升序进行排列的话返回 1,如果降序的话返回-1 否则的话返回 0。提示使用前两个元素来判断排序的 direction 使用 Object.entries()循环迭代数组对象,并对他们进行两两对比如果 direction 发生变化的话返回 0 如果到达最后一个元素的话则返回 direction 代码 constisSorted=arr=>{letdirection=-(arr[0]-arr[