第二十二天
(题目来源: 前端每日知识3+1)
Javascript题目
写一个获取数组的最大值、最小值的方法(js)
问题解答
- 思路有多种方法: 使用sort排序, 或者使用es语法Math.min和Math.max方法
- 去重后计算 使用se6语法new Set方法
解题过程
sort方法
function mNum(arr) {
let newarr = [...new Set(arr)].sort((a, b) => b - a)
let [max, min] = [newarr[0], newarr[newarr.length - 1]]
return {
max,
min
}
}
console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))
Math.max方法
function mNum(arr) {
let newarr = [...new Set(arr)]
let [max, min] = [Math.max.apply(null, newarr), Math.min.apply(null, newarr)]
return {
max,
min
}
}
console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))
for循环
function mNum(arr) {
// 复杂方法
let [max, min] = [arr[0], arr[0]]
for (let i of new Set(arr).values()) {
if (max < i) {
max = i
}
if (min > i) {
min = i
}
}
return {
max,
min
}
}
console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))
reduce高阶函数方法
function mNum(arr) {
// 复杂方法
let max = [...new Set(arr)].reduce((init, pre) => init > pre ? init : pre, arr[0])
let min = [...new Set(arr)].reduce((init, pre) => init < pre ? init : pre, arr[0])
return {
max,
min
}
}
console.table(mNum([1, 2, 3, 4, 5, 6, 2, 3, 4, 121, 31]))
知识扩展
- z-index: 它是用老设置层叠上下文的, 将带有绝对定位relative, absolute, fixed控制它们的层叠顺序, 相当于三维空间中的z轴, 随着它值的变化层叠关系也跟着变化; 但是并不是z-index的值越大它所控制的盒子就一定在最上面, 需要看该盒子所在的位置, 并且与同级兄弟(相同的父盒子)比较, (拼爹原理)
- shadow DOM 它允许开发者自定义浏览器的标签, 样式和特定的JavaScript代码【shadow DOM】
- webkit 内核浏览器, 默认样式:webkit内置浏览器样式
- 说说您对meta的理解
- 它是一个介于head区的一个辅助标签,它主要提供用户不可见的信息;元数据
- 功能:做浏览器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
|