第二十二天


(题目来源: 前端每日知识3+1)

Javascript题目

写一个获取数组的最大值、最小值的方法(js)

问题解答

  • 思路有多种方法: 使用sort排序, 或者使用es语法Math.min和Math.max方法
  • 去重后计算 使用se6语法new Set方法

解题过程

sort方法

  1. function mNum(arr) {
  2. let newarr = [...new Set(arr)].sort((a, b) => b - a)
  3. let [max, min] = [newarr[0], newarr[newarr.length - 1]]
  4. return {
  5. max,
  6. min
  7. }
  8. }
  9. console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))

Math.max方法

  1. function mNum(arr) {
  2. let newarr = [...new Set(arr)]
  3. let [max, min] = [Math.max.apply(null, newarr), Math.min.apply(null, newarr)]
  4. return {
  5. max,
  6. min
  7. }
  8. }
  9. console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))

for循环

  1. function mNum(arr) {
  2. // 复杂方法
  3. let [max, min] = [arr[0], arr[0]]
  4. for (let i of new Set(arr).values()) {
  5. if (max < i) {
  6. max = i
  7. }
  8. if (min > i) {
  9. min = i
  10. }
  11. }
  12. return {
  13. max,
  14. min
  15. }
  16. }
  17. console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))

reduce高阶函数方法

  1. function mNum(arr) {
  2. // 复杂方法
  3. let max = [...new Set(arr)].reduce((init, pre) => init > pre ? init : pre, arr[0])
  4. let min = [...new Set(arr)].reduce((init, pre) => init < pre ? init : pre, arr[0])
  5. return {
  6. max,
  7. min
  8. }
  9. }
  10. console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))

题目:写一个获取数组的最大值、最小值的方法(js) - 图1

知识扩展

  • z-index: 它是用老设置层叠上下文的, 将带有绝对定位relative, absolute, fixed控制它们的层叠顺序, 相当于三维空间中的z轴, 随着它值的变化层叠关系也跟着变化; 但是并不是z-index的值越大它所控制的盒子就一定在最上面, 需要看该盒子所在的位置, 并且与同级兄弟(相同的父盒子)比较, (拼爹原理)
  • shadow DOM 它允许开发者自定义浏览器的标签, 样式和特定的JavaScript代码【shadow DOM
  • webkit 内核浏览器, 默认样式:webkit内置浏览器样式
  • 说说您对meta的理解
  1. 它是一个介于head区的一个辅助标签,它主要提供用户不可见的信息;元数据
  2. 功能:做浏览器seo,可以设置文本的格式,可以设置网页是否缓冲,设置移动端的视窗viewprot,设置IE兼容 | 属性 | 属性值 | 备注 | | —- | —- | —- | | charset | utf-8 (万国码), gbk , gb2312 (简体中文), big5 (繁体中文) | 设置网页的文本字体编码格式 | | name | description , keywords , author , title , 描述内容不超过150字, 关键字要选择代表性的短语, 作者非必填 | 做seo优化, 让搜索引擎抓取页面信息 | | name | viewport | content内容 width , height , initial-scale 初始缩放比例 , minimum-scale , maximum-scale , user-scalable 是否允许用户缩放 | | http-equiv | X-UA-Compatible | 声明浏览器以及它的版本, content 属性设置浏览器(有几种设置方法: IE=edge , [IE=edge, chrome=1] ) | | http-equiv | refresh | content 属性内容: 页面刷新的时间数字表示单位是秒, url地址表示页面的重定向, 例如 5; https://u.mr90.top . | | http-equiv | Expires | 表示网页过期的时间, content 属性值必须使用 GTM 时间格式, 或者设置为 0 不缓存 | | http-equiv | Pragma | content 属性值: no-cache |

HTMl综合各大网站谈谈Meta标签和meta property=og标签含义