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

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

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

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

0 篇文章

CSS 布局 - 宽高保持一致

2019-07-09 描述一个元素的宽度是变化的,在自适应中我们需要保证他的高度和宽度一致(例如:他的宽高比率为一个常数)。HTML<divclass="constant-width-to-height-ratio"></div>CSS.constant-width-to-height-ratio{background:#333;width:50%;}.constant-width-to-height

CSS 布局 - 清除浮动

2019-07-08 描述确保一个元素能够对他的子元素进行浮动的自我清除。注意:如果你还在使用浮动来构建你的布局,这是唯一有用的。请考虑使用现在流行的 flex 盒子布局或栏栅布局。HTML<divclass="clearfix"><divclass="floated">floata</div><divclass="floated">floatb</div><divclass="floated">floa

CSS 布局 - 重置 box-sizing

2019-07-07 描述重置盒子模型,使 width 和 height 不会被他们的 border 或 padding 所影响。HTML<divclass="box">border-box</div><divclass="boxcontent-box">content-box</div>CSShtml{box-sizing:border-box;}*,*::before,*::after{box-sizing:in

CSS 动画 - 弹跳加载

2019-07-06 描述创建一个弹跳的加载动画。HTML<divclass="bouncing-loader"><div></div><div></div><div></div></div>CSS@keyframesbouncing-loader{to{opacity:0.1;transform:translate3d(0,-1rem,0);}}.bouncing-loader{display:fl

每天 30 秒系列之 CSS

精选常见交互,帮助您拥有简洁酷炫的站点布局清除浮动重置 box-sizing 宽高保持一致 table 居中显示平均分配子元素盒子模型居中垂直小技巧网格居中最后一个元素占满剩余可用高度使用 transform 进行居中多行文本截断文本截断视觉圆自定义滚动条自定义文本选中样式渐变阴影文本风化效果图片适配全屏文本渐变细而明显的边框:not 选择器逃离屏幕对溢出的内容进行渐变漂亮的下划线重置所有样式带形状的分割线系统字

Array - zipWith (advanced)

2019-07-05 描述创建一个数组,其元素应按照原始数组中的位置进行分组。具体如何分组、是否应该被合并应以提供的函数的返回值作为最终值。提示检测提供的最后一个参数是否为函数使用 Math.max()获取参数中最长数组的长度创建一个长度为第二步结果的数组作为返回值使用带有迭代功能的 Array.from()对被分组的元素创建一个数组如果参数中的数组长度不一样时,请使用 undefined 替代找不到的值对元

Array - zipObject

2019-07-04 描述给出一个包含有效属性标示的数组和一个包含值的数组,返回属性和值组合的对象。提示由于一个对象可以有 undefined 值,但是不能有 undefined 键对包含属性的数组使用 Array.prototype.reduce()来确定最终对象的结构代码 constzipObject=(props,values)=>props.reduce((obj,prop,index)=>((obj[p

Array - zip

2019-07-03 描述基于原始数组中的位置进行分类,然后使用这些元素创建一个数组。提示使用 Math.max.apply()获取传入的参数中最长的数组长度创建一个长度为第一步结果的数组并返回第三步中的结果使用带有迭代功能的 Array.from()将被分组的元素放到一个数组中如果参数中的数组长度不同,找不到对应位置上的值时,请使用 undefined 进行替代代码 constzip=(...arrays)=

Array - xProd

2019-07-02 描述使用提供的两个数组进行组合后产生一个新的数组。提示使用 Array.prototype.reduce(),Array.prototype.map()和 Array.prototype.concat()从两个数组中获取每一种可能的配对存储配对结果代码 constxProd=(a,b)=>a.reduce((acc,x)=>acc.concat(b.map(y=>[x,y])),[])

Array - without

2019-07-01 描述对数组中的元素进行过滤,找出那些特殊的值。提示使用 Array.prototype.filter()创建一个数组使用!Array.includes()获数组中不存在的给定值如果需要改变原始数组可参见 pull 代码 constwithout=(arr,...args)=>arr.filter(v=>!args.includes(v));示例找出数组中不存在的值:without([2,

Array - unzipWith (advanced)

2019-06-30 描述创建一个由一系列元素组成的数组,通过 zip 和提供的函数来分解原始数组中的元素。提示使用 Math.max.apply()获取数组中最长的子数组长度使用 Array.prototype.map()为每一个元素创建一个数组使用 Array.prototype.reduce()和 Array.prototype.forEach()来对数组中的元素进行元素的重新分组使用 Array.proto

Array - unzip

2019-06-29 描述创建一个数组中的数组,通过 zip 来分解数组中的元素。提示使用 Math.max.apply()获取数组中最长的子数组长度使用 Array.prototype.map()为每一个元素创建一个数组使用 Array.prototype.reduce()和 Array.prototype.forEach()来对数组中的元素进行元素的重新分组代码 constunzip=arr=>arr.redu

Array - uniqueSymmetricDifference

2019-06-28 描述返回两个数组中唯一相互不同元素,且不能包含任意一个数组中重复的值。提示使用 Array.prototype.filter()和 Array.prototype.includes()移除每一个数组中包含其他数组中的值根据第一步的结果创建一个 Set,以便移除重复的元素代码 constuniqueSymmetricDifference=(a,b)=>[...newSet([...a.fi

Array - uniqueElementsByRight

2019-06-27 描述基于提供的对比函数,从右边开始依次返回数组中所有的唯一值。提示使用 Array.prototype.reduceRight()和 Array.prototype.some()来获取数组中每一个值经过对比函数比对后仅包含唯一的元素对比函数接受两个参数:被对比的两个元素的值代码 constuniqueElementsByRight=(arr,fn)=>arr.reduceRight((

Array - uniqueElementsBy

2019-06-26 描述基于提供的对比函数,返回数组中所有的唯一值。提示使用 Array.prototype.reduce()和 Array.prototype.some()来获取数组中每一个值经过对比函数比对后仅包含唯一的元素对比函数接受两个参数:被对比的两个元素的值代码 constuniqueElementsBy=(arr,fn)=>arr.reduce((acc,v)=>{if(!acc.some(

Array - uniqueElements

2019-06-25 描述返回一个数组中的所有唯一值。提示使用 ES6 中的 Set 和扩展运算符...rest 来忽略所有重复的元素。代码 constuniqueElements=arr=>[...newSet(arr)];示例返回数组中的唯一元素:uniqueElements([1,2,2,3,4,4,5]);//[1,2,3,4,5]返回总目录每天 30 秒系列之 JavaScript 代码

Array - unionWith

2019-06-24 描述返回两个数组中的所有元素,且进过提供的对比函数比对后相等的元素只能存在一个。提示使用 Array.prototype.findIndex()过滤出对比函数中不存在的值创建一个 Set,包含数组 a 中的所有元素及步骤一中的结果将最终的 Set 使用 Array.from 转换为数组并返回代码 constunionWith=(a,b,comp)=>Array.from(newSet([...a,

Array - unionBy

2019-06-23 描述对每一个数组中的所有元素都使用提供的函数进行计算,返回两个数组中存在的每一个元素,对计算相同的元素仅返回一次。提示对数组 a 中的所有元素运用 fn,并用计算后的结果创建一个 Sets 对数组 b 进行过滤,过滤出经过 fn 计算后结果不存在于 s 中的元素使用扩展运算符将数组 a 和第二步中的结果转换为 Set 将最终的 Set 使用 Array.from 转换为数组并返回代码 constunionBy=(a,b

Array - union

2019-06-22 描述返回两个数组中存在的每一个元素,对同一个元素只返回一次。提示对 a 和 b 的所有值创建一个 Set 使用 Array.from 将 Set 转换为数组代码 constunion=(a,b)=>Array.from(newSet([...a,...b]));示例获取两个数组中的唯一值:union([1,2,3],[4,3,2]);//[1,2,3,4]返回总目录每天 30 秒系列之 JavaScript

Array - toHash

2019-06-21 描述将给定的类似数组转换为一个对象值(键值存储)。提示给出对象需是一个可迭代的或者类似数组的结构对提供的对象调用 Array.prototype.reduce.call()键为提供的对象的 key 值,逐个元素迭代计算后返回最终结果给定 key 的默认值为索引代码 consttoHash=(object,key)=>Array.prototype.reduce.call(object,(ac