对象数组去重
let arr = [
{ id: 1, name: 'jack' },
{ id: 2, name: 'rose' },
{ id: 1, name: 'jack' },
];
function duplicateById(arr) {
let filterMap = arr.reduce((pre, cur) => {
return pre.set(cur.id, cur);
}, new Map());
return [...filterMap.values()];
}
duplicateById(arr);
页面重新加载
location.reload()
页面回滚到顶部
window.scrollTo(0, 0);
页面全屏和退出全屏
function fullScreen() {
const el = document.documentElement;
const rfs =
el.requestFullScreen ||
el.webkitRequestFullScreen ||
el.mozRequestFullScreen ||
el.msRequestFullscreen;
if (typeof rfs != 'undefined' && rfs) {
rfs.call(el);
}
}
function exitScreen() {
if (document.exitFullscreen) {
document.exitFullscreen()
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen()
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen()
}
else if (document.msExitFullscreen) {
document.msExitFullscreen()
}
if(typeof cfs != "undefined" && cfs) {
cfs.call(el)
}
}
变量为真时执行某函数
(flag) && fn()
缩短console.log
const c = console.log.bind(document)
c(123)
值转为布尔值
!!undefined;
!!'996';
!!null;
!!NaN;
求数组最大值
Math.max.apply(null, array)
BOM
协议和主机ip
window.location.protocol
window.location.host