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

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

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

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

0 篇文章

Array - reduceWhich

2019-05-31 描述根据提供的函数对数组中的值进行一一比较,最终返回其最小值或最大值。提示使用 Array.prototype.reduce()和 comparator 函数来获取数组中适当的元素第二个比较函数 comparator 可以省略,其默认值返回数组中的最小元素当然也可以用 sort 排序后取第一个元素代码 constreduceWhich=(arr,comparator=(a,b)=>a-b)=>a

Array - reduceSuccessive

2019-05-30 描述对数组中的每一个元素(从左到右)使用累计函数,最终返回一个累计的连续数组。提示累计函数需至少传入当前累计数组和当前元素对提供的数组使用 Array.prototype.reduce()来执行累计函数对累计函数计算的结果进行存储最后一个参数为累计的初始值代码 constreduceSuccessive=(arr,fn,acc)=>arr.reduce((res,val,i,arr)

Array - reducedFilter

2019-05-29 描述基于特定的条件过滤出数组中的对象,并且过滤出这些对象中没有指定的 keys。提示基于提供的 fn 对数组使用 Array.prototype.filter()进行过滤,当在 fn 的条件中对象返回真值时,我们就返回这个对象在过滤好的数组中,使用 Array.prototype.map()来返回一个新的对象,该对象使用 Array.prototype.reduce()来过滤出 keys 参数中出没

Array - pullBy (advanced)

2019-05-28 描述基于给定的迭代函数和对象获取出需要过滤值,最终根据需要过滤出的值来修改原始数组。提示检查提供给函数中的最后一个参数是否为函数,如果不是函数的话返回 undefined 使用 Array.prototype.map()让指定的所有数组中的对象依次传入迭代函数 fn 中,从而获取需要过滤出的值使用 Array.prototype.filter()和 Array.prototype.includ

Array - pullAtValue (advanced)

2019-05-27 描述修改原始数组,使其对特定值进行过滤。最后返回被移除的元素。提示使用 Array.prototype.filter()和 Array.prototype.includes()过滤出数组中没有指定的值通过使用 Array.prototype.length=0 将原始数组的长度重置为 0,从而改变其传入的数组使用 Array.prototype.push()为原始数组重新填入第一步获取的数组使

Array - pullAtIndex (advanced)

2019-05-26 描述根据指定索引修改原数组,使其移除指定索引的元素。提示使用 Array.prototype.map(),Array.prototype.includes()和 Array.prototype.push()把指定索引的元素放到一个数组中使用 Array.prototype.filter()和 Array.prototype.includes()获取指定索引以外的元素通过使用 Array.p

Array - pull

2019-05-25 描述改变原始数组,使其过滤掉指定的值。提示使用 Array.prototype.filter()和 Array.prototype.includes()获取不需要的值通过使用 Array.prototype.length=0 将原始数组的长度重置为 0,从而改变传入的数组使用 Array.prototype.push()为原始数组重新填入过滤掉的值如果不需要修改原始数组的话可参见 withou

Array - permutations (advanced)

2019-05-24 描述 ⚠️ 警告:该方法的执行时间和数组中的每一个元素呈指数增长。任何超过 8 到 10 个元素的数组将会导致你的浏览器由于尝试解决所有不同的组合而被挂起。为数组中的元素生成所有的排列组合。提示使用递归依次指定数组中的每一个元素,然后使用剩下的元素来创建对应部分的所有排列使用 Array.prototype.map()来连接指定元素和上一步骤中的排列组合结果使用 Array.prototype.

Array - partition

2019-05-23 描述使用提供的函数来判断每一个元素是否为真值,并以此把元素分为两组。提示使用 Array.prototype.reduce()创建一个包含两个数组的数组使用 Array.prototype.push()来添加元素,如果提供的函数返回 true 就添加到第一个数组中,如果提供的函数返回 false 就添加到第二个数组中代码 constpartition=(arr,fn)=>arr.reduce(

Array - offset

2019-05-22 描述把数组中指定个数的元素移动到末尾。提示使用 Array.prototype.slice()分别获取指定索引后的元素和之前的元素使用扩展运算符...把上一步得到的两个数组连接成一个数组如果 offset 为负数,元素将从后面移动到前面代码 constoffset=(arr,offset)=>[...arr.slice(offset),...arr.slice(0,offset)];示例

Array - nthElement

2019-05-21 描述返回数组中的第 n 个元素。提示首先使用 Array.prototype.slice()获取包含第 n 个元素的数组如果索引超出边界值,就返回 undefined 第二个参数 n 的默认值为 0 代码 constnthElement=(arr,n=0)=>(n===-1?arr.slice(n):arr.slice(n,n+1))[0];示例获取数组中指定索引的元素:nthElement(['a',

Array - none

2019-05-20 描述如果提供的断言函数为数组中的每一个元素都返回 false,那么就返回 true,否则的话返回 false。提示使用 Array.prototype.some()来测试数组中是否有元素返回 true 第二个参数默认使用 Boolean 代码 constnone=(arr,fn=Boolean)=>!arr.some(fn);示例数组中的所有元素是否都不等于 2:none([0,1,3,0],x=>

Array - minN

2019-05-19 描述从提供的数组中返回 n 个最小的元素。如果 n 大于或等于数组的长度,那么就返回原数组(按照升序排列)。提示使用扩展运算符...对数组进行浅拷贝使用 Array.prototype.sort()对拷贝的数组进行升序排列使用 Array.prototype.slice()获取指定元素个数第二个参数 n 的默认值为 1 代码 constminN=(arr,n=1)=>[...arr].sort((a,

Array - maxN

2019-05-18 描述从提供的数组中返回 n 个最大的元素。如果 n 大于或等于数组的长度,那么就返回原数组(按照降序排列)。提示使用扩展运算符...对数组进行浅拷贝使用 Array.prototype.sort()对拷贝的数组进行降序排列使用 Array.prototype.slice()获取指定元素个数第二个参数 n 的默认值为 1 代码 constmaxN=(arr,n=1)=>[...arr].sort((a,

Array - mapObject (advanced)

2019-05-17 描述把数组中的值转换为一个 key-value 对象,这个对象使用原始值作为 key,对原始值使用提供的方法所返回的结果作为对应的 value。提示使用一个匿名的内部函数作用域来声明一个没有定义的内存空间使用闭包来存储返回值使用一个新的 Array 来存储原始数组及其每一个元素经过指定函数运行的结果值,如:[arr,arr.map(fn)]使用 Array.prototype.reduce 把新

Array - longestItem

2019-05-16 描述传入任意数目的可迭代对象或包含 length 属性的对象,返回其中最长的一个对象。如过多个对象有同样的长度,则返回前面的一个。如果没有对象传入的话,则返回 undefined。提示使用 Array.prototype.reduce()比较对象的 length 返回 length 最长的对象代码 constlongestItem=(...vals)=>vals.reduce((a,x)=>(x.

Array - last

2019-05-15 描述返回数组中的最后一个元素。提示使用 arr.length-1 计算出给定数组中最后一个元素的索引值,并返回该元素。代码 constlast=arr=>arr[arr.length-1];示例获取数组中的最后一个元素:last([1,2,3]);//3 返回总目录每天 30 秒系列之 JavaScript 代码

Array - JSONtoCSV (advanced)

2019-05-14 描述把数组中的对象转换成以指定符号分割的值(CSV),且这些值仅包含了 columns 中所指定的。提示创建表头:使用 Array.prototype.join(delimiter)组合 columns 中的所有值使用 Array.prototype.map()和 Array.prototype.reduce()为数组中的每一个对象创建行每一行中只能包含 columns 所指定的属性值,不存在的值

Array - join

2019-05-13 描述把数组中的所有元素组连接成一个字符串,并返回这个字符串。使用指定的分隔符和末尾分隔符进行连接。提示使用 Array.prototype.reduce()把元素组合成一个字符串第二个参数 separator 默认值为,第三个参数 end 的默认值保持和 separator 一致代码 constjoin=(arr,separator=',',end=separator)=>arr.reduce(

Array - isSorted

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